@font-face{font-family:Ma Shan Zheng;src:url(/fonts/MaShanZheng.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Zhi Mang Xing;src:url(/fonts/ZhiMangXing.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/GreatVibes.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--gold: #C7A05D;--gold-bright: #EAD4AD;--gold-deep: #A9874F;--app-width: 100vw;--app-height: 100vh;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--red: #7D1F24;--red-deep: #5C181B;--ivory: #FBF1E3;--cream: #F7EBD7;--cream-deep: #EAD8BD;--ink: #7A5D49;--ink-deep: #4A3325;--ink-soft: #9B7A52;--line: rgba(199,160,93,.6);--font-title: "Ma Shan Zheng", "Songti SC", serif;--font-poem: "Zhi Mang Xing", "Ma Shan Zheng", cursive;--font-en: "Great Vibes", "Songti SC", cursive;--font-text: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Heiti SC", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;min-height:-webkit-fill-available;overflow:hidden;background:#f7ebd7;color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.stage{position:fixed;top:0;right:0;bottom:0;left:0;width:var(--app-width);height:var(--app-height);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#fbf1e3,#ead8bd 80%)}.phone{position:relative;width:min(var(--app-width),480px);height:min(var(--app-height),900px);max-height:var(--app-height);overflow:hidden;background:#f7ebd7;box-shadow:0 30px 80px #7a5d4973,0 8px 24px #7a5d4947}@media (min-width: 600px){.phone{border-radius:22px;height:min(92vh,900px);max-height:calc(var(--app-height) - 32px)}}.pages{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.page{position:relative;width:100%;min-height:100%;max-height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}.tex:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,rgba(199,160,93,.04) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(199,160,93,.025) 0 1px,transparent 1px 5px);pointer-events:none}.petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5;transition:opacity .6s ease}.petal{position:absolute;top:-30px;width:14px;height:18px;background:radial-gradient(ellipse at 30% 30%,#ead4ad,#c7a05d 55%,#a9874f);border-radius:70% 30%/60% 60% 40% 40%;opacity:.4;filter:blur(.35px) drop-shadow(0 1.5px 2px rgba(122,93,73,.14));animation:fall linear infinite}.petal.pearl{background:radial-gradient(ellipse at 30% 30%,#ead4ad,#ead8bd 55%,#c7a05d);filter:blur(.35px) drop-shadow(0 1.5px 3px rgba(122,93,73,.28))}@keyframes fall{0%{transform:translateZ(0) rotate(0);opacity:0}10%{opacity:.75}to{transform:translate3d(var(--dx, 60px),110vh,0) rotate(720deg);opacity:0}}.music-btn{position:absolute;top:calc(var(--safe-top) + 18px);right:calc(var(--safe-right) + 18px);width:40px;height:40px;border-radius:50%;background:#fbf8f28c;border:1px solid rgba(199,160,93,.7);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;z-index:50;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.music-btn.playing svg{animation:spin 4s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-btn .note{position:absolute;right:-4px;top:-4px;width:12px;height:12px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 2px #fff}.music-btn .note.off{display:none}.music-btn .music-hint{position:absolute;top:46px;right:-2px;padding:4px 8px;border-radius:999px;background:#fbf8f2d6;border:1px solid rgba(199,160,93,.42);color:var(--gold-deep);font-family:var(--font-text);font-size:11px;line-height:1;letter-spacing:1px;white-space:nowrap;box-shadow:0 4px 12px #7a5d4924;pointer-events:none}.progress{position:absolute;right:calc(var(--safe-right) + 8px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:40}.dot{width:6px;height:6px;border-radius:50%;background:#7a5d4938;transition:all .3s ease}.dot.active{background:var(--gold-deep);height:18px;border-radius:3px}.scroll-hint{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 22px);transform:translate(-50%);color:var(--gold-deep);font-family:var(--font-text);font-size:12px;letter-spacing:4px;z-index:30;animation:hintPulse 2.2s ease-in-out infinite;text-shadow:0 1px 0 rgba(255,255,255,.6)}.scroll-hint svg{display:block;margin:4px auto 0;animation:arrowBob 1.4s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:.9}}@keyframes arrowBob{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}.cover{background:repeating-linear-gradient(45deg,rgba(199,160,93,.04) 0 2px,transparent 2px 6px),linear-gradient(180deg,#fbf1e3,#f7ebd7 52%,#ead8bd);color:var(--ink);overflow:hidden}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#fbf1e3,#fbf1e3f0,#fbf1e300 24%,#ead8bd00 74%,#ead8bdc7 88%,#ead8bd),linear-gradient(90deg,rgba(247,235,215,.22) 0%,transparent 14%,transparent 86%,rgba(247,235,215,.22) 100%)}.cover .cover-photo{position:absolute;left:0;right:0;top:calc(var(--safe-top) + 104px);bottom:calc(var(--safe-bottom) + 86px);background:url(/images/9.jpg?v=20260821a) center 42% / cover no-repeat;z-index:1;filter:sepia(.12) saturate(1.05) hue-rotate(-6deg) brightness(1.03);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 84%,transparent 100%)}.cover .top-en{position:absolute;top:calc(var(--safe-top) + 64px);left:50%;transform:translate(-50%);z-index:4;font-family:Great Vibes,Playfair Display,cursive;font-size:40px;color:var(--gold-deep);letter-spacing:1px;font-style:italic;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.6)}.cover .caption{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 80px);transform:translate(-50%);z-index:4;text-align:center;white-space:nowrap;pointer-events:none}.cover .caption .zh{font-family:Ma Shan Zheng,Songti SC,serif;font-size:22px;color:var(--red);letter-spacing:6px;text-shadow:none}.cover .top-en:before{content:"";display:block;width:32px;height:1px;margin:0 auto 6px;background:linear-gradient(90deg,transparent,var(--gold-deep),transparent)}.invite{background:linear-gradient(180deg,var(--ivory) 0%,var(--cream) 50%,var(--ivory) 88%,rgba(125,31,36,.34) 100%);padding:80px 32px}.invite .quote{text-align:center;color:var(--ink)}.invite .quote .top{font-family:Ma Shan Zheng,serif;font-size:28px;color:var(--red);letter-spacing:.12em;margin-bottom:30px;white-space:nowrap;max-width:100%}.invite .quote .lines{font-family:var(--font-text);font-size:17px;line-height:2.15;letter-spacing:1.5px;color:var(--ink-deep)}.invite .quote .lines span{display:inline-block;max-width:100%;white-space:nowrap;word-break:keep-all;opacity:0;transform:translateY(10px)}.invite .quote .sign{margin-top:50px;font-family:var(--font-title);font-size:22px;color:var(--gold-deep);letter-spacing:3px}.invite .deco-line{width:1px;height:60px;background:linear-gradient(180deg,transparent,var(--gold));margin:0 auto 20px}.invite .seal{display:inline-block;width:64px;height:64px;border:1.5px solid var(--red);color:var(--red);font-family:Ma Shan Zheng,serif;font-size:14px;line-height:1.05;text-align:center;padding:10px 6px;background:#7d1f240f;transform:rotate(-4deg);margin:20px auto 0}.theme-page{background:var(--ivory);padding:60px 0 30px}.theme-page .header{text-align:center;padding:0 24px 24px}.theme-page .header .zh{font-family:Ma Shan Zheng,serif;font-size:44px;color:var(--gold-deep);letter-spacing:8px;margin-bottom:4px}.theme-page.deep{background:linear-gradient(180deg,#cd9a94,#b0484d 14%,#7d1f24 50%,#3a1719 82%,#ead8bd)}.theme-page.deep .header .zh{color:var(--gold-bright)}.theme-page.deep .header .en{color:#ead4adb8}.theme-page.white{background:radial-gradient(circle at 50% 42%,rgba(255,250,241,.68) 0%,rgba(255,250,241,.26) 48%,transparent 72%),linear-gradient(180deg,var(--cream) 0%,var(--cream-deep) 100%)}.theme-page.white .header .zh{color:var(--red)}.theme-page .header .en{font-family:Great Vibes,Songti SC,cursive;font-size:22px;letter-spacing:2px;color:var(--gold-deep);opacity:.92}.theme-page .header .divider{width:50px;height:1px;background:var(--gold);margin:14px auto;opacity:.7}.theme-page .gallery{flex:1;width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:visible;padding:6px 0 24px;position:relative}.theme-page .gallery .frame{width:calc(100% - 32px);margin:0 16px;height:100%;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative;background:transparent;cursor:zoom-in}.theme-page .gallery .frame img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:6px;border:3px solid #fff;outline:1px solid rgba(199,160,93,.5);box-shadow:0 12px 30px #7a5d4947;background:#fff;transition:transform 6s ease}.theme-page.white .gallery .frame img{border:1px solid rgba(255,248,235,.66);outline:0;border-radius:10px;background:#fbf1e347;box-shadow:0 18px 38px #7a5d4929,0 0 0 1px #c7a05d2e;filter:sepia(.055) saturate(.96) brightness(1.025)}.theme-page .gallery .frame .cap,.theme-page.deep .gallery .frame .cap{display:none}.theme-page .gallery-hit{position:absolute;top:0;bottom:0;width:32%;z-index:4;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-page .gallery-hit.prev{left:0}.theme-page .gallery-hit.next{right:0}.theme-page .gallery-hit.prev:active{background:linear-gradient(90deg,rgba(234,212,173,.14),transparent 72%)}.theme-page .gallery-hit.next:active{background:linear-gradient(270deg,rgba(234,212,173,.14),transparent 72%)}.theme-page.white .gallery-hit.prev:active{background:linear-gradient(90deg,rgba(125,31,36,.08),transparent 72%)}.theme-page.white .gallery-hit.next:active{background:linear-gradient(270deg,rgba(125,31,36,.08),transparent 72%)}.theme-page .gallery-pager{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 58px);transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:6px;height:10px;z-index:4;pointer-events:none}.theme-page .gallery-pager button{pointer-events:auto;display:block;width:5px;height:5px;padding:0;border:0;border-radius:50%;background:#ead4ad6b;transition:width .25s ease,background .25s ease,border-radius .25s ease}.theme-page .gallery-pager button.active{width:14px;border-radius:3px;background:var(--gold-bright)}.theme-page.white .gallery-pager button{background:#c7a05d52}.theme-page.white .gallery-pager button.active{background:var(--gold-deep)}.theme-page .hint{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 18px);transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 18px;width:-moz-max-content;width:max-content;max-width:calc(100% - 32px);border-radius:999px;font-family:PingFang SC,Heiti SC,sans-serif;font-size:14px;font-weight:600;letter-spacing:3px;line-height:1.2;white-space:nowrap;opacity:1;z-index:5;pointer-events:none}.theme-page .hint-nav{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-6px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-page.deep .hint{color:var(--gold-bright);background:#7d1f24;box-shadow:0 0 0 1px #ead4adb8,0 8px 20px #14080a47}.theme-page.white .hint{color:var(--red);background:#fff8ee;box-shadow:0 0 0 1px #c7a05d80,0 8px 18px #7a5d491f}.theme-page .hint-chevron{width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:hintSlide 1.4s ease-in-out infinite}.theme-page .hint-chevron-right{transform:rotate(225deg);animation-name:hintSlideRight}@keyframes hintSlide{0%,to{transform:rotate(45deg) translate(0);opacity:.55}50%{transform:rotate(45deg) translate(-3px,3px);opacity:1}}@keyframes hintSlideRight{0%,to{transform:rotate(225deg) translate(0);opacity:.55}50%{transform:rotate(225deg) translate(-3px,3px);opacity:1}}.lightbox{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1410;display:none;z-index:200;cursor:zoom-out;animation:lbIn .25s ease;overflow:hidden}.lightbox:before{content:"";position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;background:var(--lb-bg, none) center/cover no-repeat;filter:blur(22px) brightness(.55);z-index:0;opacity:0;transition:opacity .3s}.lightbox.show:before{opacity:1}.lightbox.show{display:flex;align-items:center;justify-content:center}.lightbox img{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center center;object-position:center center;border-radius:0;box-shadow:none}.lightbox .lb-hint{position:absolute;bottom:calc(var(--safe-bottom) + 26px);left:50%;transform:translate(-50%);color:#fff8f0eb;font-size:12px;letter-spacing:3px;white-space:nowrap;pointer-events:none;z-index:2;text-shadow:0 1px 8px rgba(20,15,12,.7)}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.banquet{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-deep) 55%,var(--ivory) 100%);color:var(--ink);padding:calc(var(--safe-top) + 40px) 24px calc(var(--safe-bottom) + 72px);overflow-y:auto}.banquet .head{text-align:center;margin-bottom:16px}.banquet .head .welcome-title{font-family:Ma Shan Zheng,serif;font-size:24px;color:var(--gold-deep);letter-spacing:8px;margin:10px 0 4px}.banquet .head .welcome-sub{font-family:var(--font-text);font-size:15px;color:var(--ink-soft);letter-spacing:3px;white-space:nowrap}.banquet .head .cd-caption{font-family:var(--font-text);font-size:13px;letter-spacing:4px;color:var(--gold-deep);opacity:.85;margin-bottom:8px}.banquet .head .countdown{display:flex;justify-content:center;align-items:center;gap:6px;margin:6px 0 12px}.banquet .head .countdown .cd-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;padding:8px 4px 6px;background:#fbf8f280;border:1px solid var(--line);border-radius:6px}.banquet .head .countdown .cd-item .n{font-family:var(--font-text);font-size:22px;font-weight:500;color:var(--ink-deep);line-height:1}.banquet .head .countdown .cd-item .l{font-family:var(--font-text);font-size:10px;letter-spacing:1.5px;color:var(--ink-soft);margin-top:4px}.banquet .head .countdown .cd-sep{color:var(--gold-deep);font-size:18px;opacity:.55;padding-bottom:12px}.banquet .card{width:100%;margin:0 auto 16px;max-width:360px;background:#fff8eb8c;border:1px solid var(--line);border-radius:6px;padding:18px 16px 20px;box-shadow:0 4px 18px #7a5d4914}.banquet .card .card-head{text-align:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line)}.banquet .card .card-head .en{font-family:var(--font-text);font-size:11px;letter-spacing:6px;color:var(--ink-soft);opacity:.85}.banquet .card .card-head .zh{font-family:Ma Shan Zheng,serif;font-size:32px;letter-spacing:.12em;color:var(--red);margin-top:6px;white-space:nowrap}.banquet .row{display:flex;gap:10px;padding:10px 0;align-items:flex-start}.banquet .row+.row{border-top:1px dashed rgba(199,160,93,.4)}.banquet .row .label{flex:0 0 58px;text-align:center;padding-top:4px}.banquet .row .label .en{font-family:var(--font-text);font-size:10px;letter-spacing:2.5px;color:var(--ink-soft);opacity:.7}.banquet .row .label .zh{font-family:var(--font-text);font-size:14px;letter-spacing:2.5px;color:var(--gold-deep);margin-top:4px}.banquet .row .line{align-self:stretch;width:1px;background:var(--gold);opacity:.7;margin:4px 0}.banquet .row .body{flex:1;min-width:0;padding-top:2px;font-family:var(--font-text)}.banquet .row .body .date-main{font-family:var(--font-text);font-size:22px;font-weight:600;color:var(--ink-deep);line-height:1.2;letter-spacing:.5px;white-space:nowrap}.banquet .row .body .date-sub{font-family:var(--font-text);font-size:14px;color:var(--ink-deep);letter-spacing:.8px;margin-top:4px;white-space:nowrap}.banquet .row .body .lunar{display:inline-block;margin-top:8px;padding:4px 10px;border:1px solid var(--gold);border-radius:999px;font-family:var(--font-text);font-size:12px;color:var(--gold-deep);letter-spacing:.8px;opacity:1;white-space:nowrap}.banquet .row .body .addr{font-family:var(--font-text);font-size:14px;line-height:1.7;color:var(--ink-deep);letter-spacing:.4px;font-weight:600;white-space:nowrap}.banquet .row .body .addr b{color:var(--ink-deep);font-weight:600}.banquet .row .body .addr-loc,.banquet .row .body .addr-name{display:block;max-width:100%;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.banquet .row .body .addr-name{font-size:13px;letter-spacing:0;font-weight:600}.banquet .map-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 16px;background:#fff8ebb3;border:1px solid var(--gold-deep);border-radius:999px;color:var(--gold-deep);font-family:var(--font-text);font-size:13px;letter-spacing:1.5px;text-decoration:none;white-space:nowrap}.banquet .map-btn:before{content:"📍";font-size:11px}.banquet .schedule{width:100%;max-width:360px;margin:0 auto;padding-top:4px}.banquet .schedule .title{display:flex;flex-direction:column;align-items:center;margin-bottom:12px}.banquet .schedule .title .en{font-family:var(--font-text);font-size:10px;letter-spacing:6px;color:var(--ink-soft);opacity:.7}.banquet .schedule .title .zh{font-family:Ma Shan Zheng,serif;font-size:24px;letter-spacing:4px;color:var(--ink-deep);margin-top:4px}.banquet .schedule ul{list-style:none}.banquet .schedule li{display:flex;align-items:center;gap:10px;padding:5px 0}.banquet .schedule li .t{font-family:var(--font-text);font-size:16px;font-weight:600;color:var(--ink-deep);flex:0 0 56px;text-align:right;line-height:1;letter-spacing:0}.banquet .schedule li .d{width:7px;height:7px;border-radius:50%;background:var(--gold-deep);box-shadow:0 0 0 4px #c7a05d2e;flex-shrink:0}.banquet .schedule li .txt{flex:1;min-width:0;font-family:var(--font-text)}.banquet .schedule li .txt .main{font-size:15px;color:var(--ink-deep);letter-spacing:.8px;font-weight:500;white-space:nowrap}.banquet .schedule li .txt .sub{font-size:12px;color:var(--ink);letter-spacing:.6px;margin-top:2px;white-space:nowrap}.rsvp{background:var(--ivory);padding:calc(var(--safe-top) + 70px) 28px calc(var(--safe-bottom) + 100px)}.rsvp .title{text-align:center;margin-bottom:36px}.rsvp .title .zh{font-family:Ma Shan Zheng,serif;font-size:36px;color:var(--red);letter-spacing:.12em;white-space:nowrap}.rsvp .title .en{font-family:Great Vibes,Songti SC,cursive;font-size:22px;letter-spacing:2px;color:var(--gold-deep);opacity:.92;margin-top:4px}.rsvp .form .field{margin-bottom:22px}.rsvp .form label{display:block;color:var(--gold-deep);font-family:var(--font-text);font-size:13px;letter-spacing:2px;margin-bottom:8px}.rsvp .form input,.rsvp .form select,.rsvp .form textarea{width:100%;background:#fbf8f28c;border:1px solid var(--line);color:var(--ink);font-family:var(--font-text);font-size:15px;padding:12px 14px;border-radius:3px;outline:none;transition:border .2s}.rsvp .form input::-moz-placeholder,.rsvp .form textarea::-moz-placeholder{color:#8a80728c}.rsvp .form input::placeholder,.rsvp .form textarea::placeholder{color:#8a80728c}.rsvp .form input:focus,.rsvp .form select:focus,.rsvp .form textarea:focus{border-color:var(--red)}.rsvp .form textarea{resize:vertical;min-height:80px}.rsvp .form .row{display:flex;gap:12px}.rsvp .form .row .field{flex:1}.rsvp .submit{display:block;width:100%;margin-top:18px;padding:14px;background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);border:1px solid var(--red-deep);color:var(--ivory);font-family:var(--font-text);font-size:16px;letter-spacing:9px;border-radius:3px;cursor:pointer;transition:all .35s ease;text-indent:5px;box-shadow:0 6px 16px #7d1f2447}.rsvp .submit:hover{filter:brightness(1.08);letter-spacing:12px;box-shadow:0 8px 20px #7d1f245c}.rsvp .note{text-align:center;color:var(--ink-soft);font-family:var(--font-text);font-size:11px;letter-spacing:2px;margin-top:16px;opacity:.8}.rsvp .success{display:none;text-align:center;padding:30px 0;color:var(--ink)}.rsvp .success .big{font-family:Ma Shan Zheng,serif;font-size:56px;color:var(--gold-deep);margin-bottom:12px}.rsvp .success.show{display:block}.guestbook{background:linear-gradient(180deg,#fbf1e3,#f7ebd7 48%,#ead8bd);color:var(--ink);padding:calc(var(--safe-top) + 48px) 22px calc(var(--safe-bottom) + 76px);overflow:hidden;justify-content:flex-start}.guestbook .gb-title{text-align:center;margin-bottom:20px}.guestbook .gb-title .zh{font-family:Ma Shan Zheng,serif;font-size:34px;color:var(--red);letter-spacing:.16em;white-space:nowrap}.guestbook .gb-title .en{font-family:Great Vibes,Songti SC,cursive;font-size:21px;letter-spacing:2px;color:var(--gold-deep);opacity:.92;margin-top:2px}.guestbook .gb-title .divider{width:50px;height:1px;background:var(--gold);margin:12px auto 0;opacity:.7}.guestbook .gb-list{width:100%;max-width:380px;margin:0 auto;max-height:32vh;overflow-y:auto;padding:8px 4px 6px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.guestbook .gb-list::-webkit-scrollbar{width:3px}.guestbook .gb-list::-webkit-scrollbar-thumb{background:#c7a05d80;border-radius:3px}.guestbook .gb-item{display:flex;gap:11px;margin-bottom:14px}.guestbook .gb-item .avatar{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#fffaf1,#ead8bd);border:1px solid var(--line);color:var(--red);display:flex;align-items:center;justify-content:center;font-family:Ma Shan Zheng,Songti SC,serif;font-size:20px;box-shadow:0 4px 10px #7a5d491f}.guestbook .gb-item .avatar.c1{background:linear-gradient(145deg,#f7d9d4,#eab8b0)}.guestbook .gb-item .avatar.c2{background:linear-gradient(145deg,#fbf0d9,#e8cf9e)}.guestbook .gb-item .avatar.c3{background:linear-gradient(145deg,#f6e3d8,#eac2b4)}.guestbook .gb-item .avatar.c4{background:linear-gradient(145deg,#fbe5dc,#edb8a8)}.guestbook .gb-item .bubble{flex:1;background:#fff8ebb8;border:1px solid rgba(199,160,93,.42);border-radius:6px 14px 14px;padding:11px 14px;box-shadow:0 6px 18px #7a5d4914}.guestbook .gb-item .bubble .meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:5px}.guestbook .gb-item .bubble .name{font-family:var(--font-text);color:var(--red);font-size:13px;letter-spacing:1px;font-weight:600}.guestbook .gb-item .bubble .time{font-family:var(--font-text);color:var(--ink-soft);font-size:11px;opacity:.72}.guestbook .gb-item .bubble .text{font-family:var(--font-text);font-size:14px;line-height:1.8;color:var(--ink-deep);letter-spacing:.4px;word-break:break-word;white-space:pre-wrap}@keyframes gbIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.guestbook .gb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 0 24px;color:var(--ink-soft);animation:gbIn .5s both}.guestbook .gb-empty .seal{width:56px;height:56px;border:1.5px solid var(--red);border-radius:6px;color:var(--red);font-family:Ma Shan Zheng,serif;font-size:30px;display:flex;align-items:center;justify-content:center;background:#7d1f240f;transform:rotate(-4deg);margin-bottom:16px}.guestbook .gb-empty .main{font-family:var(--font-text);font-size:16px;color:var(--red);letter-spacing:2px}.guestbook .gb-empty .sub{font-family:var(--font-text);font-size:13px;margin-top:8px;letter-spacing:1px;line-height:1.9}.guestbook .gb-composer{width:100%;max-width:380px;margin:16px auto 0;background:#fff8eb80;border:1px solid var(--line);border-radius:6px;padding:14px;box-shadow:0 4px 18px #7a5d4914;display:flex;flex-direction:column;gap:10px}.guestbook .gb-tabs{display:flex;gap:0;margin:4px 0 12px;padding:3px;background:#fffbf3b8;border:1px solid rgba(199,160,93,.28);border-radius:999px;position:relative}.guestbook .gb-tab{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;padding:8px 2px;background:transparent;border:0;border-radius:999px;color:var(--gold-deep);font-family:var(--font-text);font-size:12px;letter-spacing:.5px;font-weight:400;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.guestbook .gb-tab:hover:not(.active){background:#fff8ebe6}.guestbook .gb-tab svg{display:none}.guestbook .gb-tab.active{background:linear-gradient(135deg,#fcf1dc,#f1ddb1);color:var(--red);box-shadow:0 2px 8px #c7a05d47,inset 0 1px #ffffffb3}.guestbook .gb-tab.active:after{content:none}.guestbook .gb-media-ph{display:flex;flex-direction:column;align-items:center;gap:7px;padding:22px 12px;background:#fbf8f299;border:1px dashed var(--line);border-radius:3px;color:var(--ink-soft);text-align:center;min-height:120px;justify-content:center}.guestbook .gb-media-ph .ph-icon{color:var(--gold-deep)}.guestbook .gb-media-ph .ph-icon svg{width:34px;height:34px}.guestbook .gb-media-ph .ph-main{font-family:var(--font-text);font-size:14px;letter-spacing:2px;color:var(--ink)}.guestbook .gb-media-ph .ph-sub{font-family:var(--font-text);font-size:12px;letter-spacing:.5px;line-height:1.8}.guestbook .gb-composer input,.guestbook .gb-composer textarea{background:#fbf8f299;border:1px solid var(--line);color:var(--ink);font-family:var(--font-text);font-size:14px;border-radius:3px;padding:11px 12px;outline:none;transition:border .2s}.guestbook .gb-composer input{width:100%}.guestbook .gb-composer textarea{width:100%;resize:none;min-height:72px;line-height:1.7}.guestbook .gb-composer input::-moz-placeholder,.guestbook .gb-composer textarea::-moz-placeholder{color:#8a80728c}.guestbook .gb-composer input::placeholder,.guestbook .gb-composer textarea::placeholder{color:#8a80728c}.guestbook .gb-composer input:focus,.guestbook .gb-composer textarea:focus{border-color:var(--red)}.guestbook .gb-send{display:block;width:100%;padding:12px;background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);border:1px solid var(--red-deep);color:var(--ivory);font-family:var(--font-text);font-size:14px;letter-spacing:8px;border-radius:3px;cursor:pointer;transition:all .35s ease;text-indent:4px;box-shadow:0 6px 16px #7d1f2447}.guestbook .gb-send:hover{filter:brightness(1.08);letter-spacing:10px}.guestbook .gb-send:disabled{opacity:.5;cursor:not-allowed}.guestbook .gb-tip{text-align:center;color:var(--ink-soft);font-family:var(--font-text);font-size:11px;letter-spacing:1.5px;margin-top:12px;opacity:.75}.end{background:linear-gradient(180deg,#fbf1e3,#f7ebd7 60%,#ead8bd);color:var(--ink);text-align:center;padding:80px 28px}.end .words{font-family:var(--font-poem);font-size:30px;color:var(--red);line-height:2;letter-spacing:4px;text-shadow:none}.end .sign{margin-top:40px;font-family:var(--font-text);color:var(--gold-deep);font-size:13px;letter-spacing:3px}.end .bottom-deco{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold-deep);font-family:var(--font-text);font-size:12px;letter-spacing:6px}.end .bottom-deco i{width:30px;height:1px;background:var(--gold);display:block}.brand{position:absolute;top:calc(var(--safe-top) + 16px);left:calc(var(--safe-left) + 18px);z-index:40;color:var(--gold-deep);font-family:var(--font-text);font-size:14px;letter-spacing:3px}.brand i{color:var(--gold);font-style:normal}html,body,#root{width:100%;height:100%;overflow:hidden}.pages{overscroll-behavior:contain;touch-action:pan-y}.theme-page .gallery,.theme-page .gallery .frame,.theme-page .gallery .frame img{overscroll-behavior-x:contain;touch-action:pan-y;-webkit-user-drag:none}.theme-page .gallery-hit,.theme-page .gallery-pager button,.theme-page .hint-nav,.lightbox{touch-action:manipulation}.phone img{max-width:none}.phone .theme-page .gallery .frame img,.phone .lightbox img{max-width:100%;max-height:100%}.phone button{font-family:inherit}.progress .dot{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;font:inherit}.rsvp{overflow-y:auto;-webkit-overflow-scrolling:touch}.rsvp .form input,.rsvp .form select,.rsvp .form textarea,.guestbook .gb-composer input,.guestbook .gb-composer textarea{font-size:16px}@media (prefers-reduced-motion: reduce){.petal,.scroll-hint,.scroll-hint svg,.music-btn.playing svg{animation:none!important}.theme-page .hint-chevron,.theme-page .hint-chevron-right{animation:none!important;opacity:1}}@media (max-height: 785px),(min-width: 600px) and (max-height: 850px){.cover .top-en{top:calc(var(--safe-top) + 36px);font-size:34px}.cover .cover-photo{height:min(58vh,calc(var(--app-height) - 180px))}.cover .caption{bottom:calc(var(--safe-bottom) + 58px)}.invite{padding:calc(var(--safe-top) + 56px) 28px calc(var(--safe-bottom) + 64px)}.banquet .head{margin-bottom:10px}.banquet .head .welcome-title{font-size:22px;margin:6px 0 2px}.banquet .head .countdown{margin:4px 0 8px}.banquet .head .countdown .cd-item{padding:6px 4px 5px}.banquet .card{margin-bottom:10px;padding:14px 16px 12px}.banquet .card .card-head{margin-bottom:10px;padding-bottom:9px}.banquet .card .card-head .zh{font-size:27px}.banquet .row{padding:7px 0}.banquet .map-btn{margin-top:9px}.banquet .schedule{padding-top:0}.banquet .schedule .title{margin-bottom:8px}.banquet .schedule .title .zh{font-size:22px}.banquet .schedule li{padding:3px 0}.rsvp{padding:calc(var(--safe-top) + 42px) 24px calc(var(--safe-bottom) + 68px)}.rsvp .title{margin-bottom:18px}.rsvp .form .field{margin-bottom:12px}.rsvp .form input,.rsvp .form select,.rsvp .form textarea{padding:10px 12px}.rsvp .form textarea{min-height:56px}.rsvp .submit{padding:12px}.guestbook{padding:calc(var(--safe-top) + 30px) 18px calc(var(--safe-bottom) + 58px)}.guestbook .gb-title{margin-bottom:10px}.guestbook .gb-title .zh{font-size:28px}.guestbook .gb-title .en{font-size:18px}.guestbook .gb-title .divider{margin-top:8px}.guestbook .gb-list{max-height:min(24vh,170px)}.guestbook .gb-empty{padding:10px 0 12px}.guestbook .gb-empty .seal{width:44px;height:44px;font-size:24px;margin-bottom:10px}.guestbook .gb-composer{margin-top:8px;padding:10px;gap:8px}.guestbook .gb-tabs{margin:0 0 10px}.guestbook .gb-tab{padding:9px 4px}.guestbook .gb-media-ph{min-height:82px;padding:12px 10px}.guestbook .gb-composer textarea{min-height:58px}.guestbook .gb-send{padding:10px}}@media (max-height: 800px),(min-width: 600px) and (max-height: 870px){.banquet .scroll-hint{bottom:calc(var(--safe-bottom) + 12px)}}@media (max-height: 672px),(min-width: 600px) and (max-height: 775px){.banquet{padding-top:calc(var(--safe-top) + 28px);padding-bottom:calc(var(--safe-bottom) + 56px)}.banquet .head{margin-bottom:6px}.banquet .head .countdown .cd-item{padding:5px 4px 4px}.banquet .head .countdown .cd-item .n{font-size:19px}.banquet .card{margin-bottom:8px;padding:12px 16px}.banquet .card .card-head{margin-bottom:8px;padding-bottom:7px}.banquet .card .card-head .zh{font-size:24px}.banquet .row{padding:5px 0}.banquet .row .body .date-main{font-size:20px}.banquet .map-btn{margin-top:7px}.banquet .schedule .title{margin-bottom:6px}.banquet .schedule .title .zh{font-size:20px}.banquet .schedule li{padding:2px 0}}@media (max-height: 625px),(min-width: 600px) and (max-height: 680px){.banquet .head .cd-caption{font-size:11px;margin-bottom:2px}.banquet .head .countdown{margin:2px 0 4px}.banquet .head .countdown .cd-item{padding:4px 4px 3px}.banquet .head .countdown .cd-item .n{font-size:17px}.banquet .head .countdown .cd-item .l{margin-top:2px}.banquet .card{margin-bottom:4px;padding-bottom:8px}.banquet .card .card-head{margin-bottom:6px;padding-bottom:5px}.banquet .card .card-head .zh{font-size:21px}.banquet .row{padding:2px 0}.banquet .row .body .date-main{font-size:22px}.banquet .row .body .lunar{margin-top:5px;padding-top:3px;padding-bottom:3px}.banquet .map-btn{margin-top:5px;padding-top:5px;padding-bottom:5px}.banquet .schedule .title{margin-bottom:2px}.banquet .schedule .title .zh{font-size:18px}.banquet .schedule li{padding:1px 0}.banquet .schedule li .txt .main{font-size:14px}.banquet .schedule li .txt .sub{font-size:11px}}@media (max-width: 400px){.banquet{padding-left:20px;padding-right:20px}.banquet .card{padding-left:14px;padding-right:14px}.banquet .row .label{flex-basis:52px}.banquet .row .body .addr,.banquet .row .body .addr-loc,.banquet .row .body .addr-name{letter-spacing:0}.banquet .row .body .addr-name{font-size:12px}.invite .quote .top{font-size:24px;letter-spacing:.08em}.invite .quote .lines{letter-spacing:.6px}.theme-page .hint{letter-spacing:2px;padding-left:14px;padding-right:14px}.rsvp .title .zh,.guestbook .gb-title .zh,.banquet .card .card-head .zh{font-size:28px;letter-spacing:.1em}}@media (max-width: 360px){.invite{padding-left:24px;padding-right:24px}.banquet{padding-left:16px;padding-right:16px}.banquet .card{padding-left:12px;padding-right:12px}.banquet .row{gap:8px}.banquet .row .label{flex-basis:44px}.banquet .row .body .addr-name{font-size:12px;letter-spacing:0}.banquet .row .label .en,.banquet .row .label .zh,.banquet .row .body .date-sub,.banquet .row .body .lunar,.banquet .map-btn,.banquet .schedule li .txt .main,.banquet .schedule li .txt .sub{letter-spacing:1px}.invite .quote .lines{font-size:16px;letter-spacing:.4px}.cover .top-en{font-size:32px}.theme-page .hint{font-size:13px;letter-spacing:1.5px;gap:8px}.banquet .head .welcome-sub{letter-spacing:2px}.banquet .schedule li{gap:8px}.banquet .schedule li .t{flex-basis:52px}.invite .quote .top{font-size:22px;letter-spacing:.06em}.rsvp .form .row{gap:8px}.guestbook .gb-tabs{gap:0}.guestbook .gb-tab{font-size:12px;letter-spacing:0;padding:8px 2px}}@media (max-width: 320px){.banquet{padding-left:10px;padding-right:10px}.banquet .card{padding-left:8px;padding-right:8px}.banquet .row{gap:4px}.banquet .row .label{flex-basis:36px}.banquet .row .body .date-main{font-size:20px}.banquet .row .body .date-sub,.banquet .row .body .lunar{font-size:12px}.banquet .row .body .lunar{padding-left:8px;padding-right:8px}.banquet .row .body .addr{font-size:12px;letter-spacing:0}.banquet .row .body .addr-name{font-size:11px;letter-spacing:0}.banquet .schedule li .t{flex-basis:48px}.invite .quote .lines{font-size:15px;letter-spacing:.2px}.cover .top-en{font-size:30px}.theme-page .hint{font-size:12px;letter-spacing:1px;padding:8px 12px}}.guestbook .gb-item .bubble .text img,.guestbook .gb-item .bubble .text video{display:block;width:100%;max-width:220px;border-radius:4px;margin-top:6px}.guestbook .gb-item .bubble .audio-row{display:flex;align-items:center;gap:8px;min-width:140px}.guestbook .gb-item .bubble .audio-row button{width:28px;height:28px;border-radius:50%;border:0;background:var(--red);color:var(--ivory);display:flex;align-items:center;justify-content:center;cursor:pointer}.end .icp-footer{margin-top:28px}.end .icp-link{font-family:var(--font-text);color:var(--ink-soft);font-size:11px;letter-spacing:1px}.guestbook .gb-file{display:none}[data-anim]{opacity:0;transform:translateY(20px)}
