@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff)format("woff")}.wi-invitation{--wi-gold:#9c7a42;--wi-ink:#514634;--wi-paper:#fffaf0;z-index:40;color:var(--wi-ink);isolation:isolate;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:#ede5d5;grid-template-rows:auto minmax(0,1fr) auto;font-family:Noto Serif SC,Songti SC,SimSun,Georgia,serif;display:grid;position:absolute;inset:0}.wi-invitation button{min-height:44px;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;font-size:16px}.wi-invitation button:disabled{opacity:.38;cursor:default}.wi-invitation button:focus-visible,.wi-stage:focus-visible{outline-offset:-3px;outline:3px solid #947348}.wi-invitation svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.wi-toolbar{z-index:3;min-height:66px;padding:8px max(12px, env(safe-area-inset-right,0px)) 8px max(12px, env(safe-area-inset-left,0px));background:#fbf6ed;border-bottom:1px solid #b59c762e;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:relative}.wi-toolbar p{letter-spacing:.08em;margin:0;font-size:16px}.wi-toolbar .wi-back{justify-self:start;align-items:center;gap:2px;padding:6px 8px 6px 0;display:flex}.wi-toolbar .wi-quick-info{justify-self:end;padding:6px 8px;font-family:system-ui,sans-serif;font-size:15px}.wi-stage{touch-action:none;-webkit-user-select:none;user-select:none;perspective:1100px;background:#f1eade;min-height:0;padding:0;position:relative;overflow:hidden}.wi-slide{will-change:transform, opacity;padding:clamp(12px,3.8vw,32px);position:absolute;inset:0}.wi-slide-current{z-index:2}.wi-phase-opening .wi-slide-current{transform-origin:50% 20%;animation:.85s cubic-bezier(.18,.68,.22,1) both wi-unfold}.wi-stage{--wi-sign:1;--wi-page-start:inset(0 0 0 96%);--wi-page-origin:right center}.wi-stage.wi-direction-back{--wi-sign:-1;--wi-page-start:inset(0 96% 0 0);--wi-page-origin:left center}.wi-phase-transition .wi-slide{animation-duration:.6s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both}.wi-phase-transition.wi-effect-glide .wi-slide-current{animation-name:wi-glide-in}.wi-phase-transition.wi-effect-glide .wi-slide-out{animation-name:wi-glide-out}.wi-phase-transition.wi-effect-rise .wi-slide-current{animation-name:wi-rise-in}.wi-phase-transition.wi-effect-rise .wi-slide-out{animation-name:wi-rise-out}.wi-phase-transition.wi-effect-dissolve .wi-slide-current{animation-name:wi-dissolve-in}.wi-phase-transition.wi-effect-dissolve .wi-slide-out{animation-name:wi-dissolve-out}.wi-phase-transition.wi-effect-page .wi-slide-current{transform-origin:var(--wi-page-origin);animation-name:wi-paper-in}.wi-phase-transition.wi-effect-page .wi-slide-out{animation-name:wi-paper-out}.wi-phase-transition.wi-effect-split .wi-slide-current{animation-name:wi-split-in}.wi-phase-transition.wi-effect-split .wi-slide-out{animation-name:wi-dissolve-out}.wi-phase-transition.wi-effect-split .wi-slide-current .wi-album-photo-frame{animation:.6s cubic-bezier(.22,.61,.36,1) both wi-pair-left}.wi-phase-transition.wi-effect-split .wi-slide-current .wi-album-photo-2 .wi-album-photo-frame{animation-name:wi-pair-right}.wi-phase-transition.wi-effect-split .wi-slide-current :is(.wi-album-head,.wi-album-copy){animation:.6s cubic-bezier(.22,.61,.36,1) both wi-copy-in}.wi-transition-wash{--wi-wash-angle:110deg;--wi-wash-start-x:-18%;--wi-wash-end-x:18%;--wi-wash-start-y:0%;--wi-wash-end-y:0%;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 12% 18%, #f3e3c77a, transparent 55%), linear-gradient(var(--wi-wash-angle), transparent 12%, #fff9ee70 34%, #fffcf638 50%, #e8d5b56b 68%, transparent 88%);animation:.6s ease-in-out both wi-wash;position:absolute;inset:-15% -25%}.wi-effect-rise .wi-transition-wash{--wi-wash-angle:25deg;--wi-wash-start-x:0%;--wi-wash-end-x:0%;--wi-wash-start-y:12%;--wi-wash-end-y:-12%}.wi-effect-dissolve .wi-transition-wash{--wi-wash-angle:135deg;--wi-wash-start-x:-4%;--wi-wash-end-x:4%}.wi-reduced-motion .wi-transition-wash{display:none}.wi-page{background:var(--wi-paper);border-radius:3px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 8px 22px #715f3915,0 1px 1px #9c7a421f}.wi-page-info{border:1px solid #a3864e47;align-content:center;padding:clamp(24px,7vw,58px) clamp(24px,6.6vw,56px);display:grid}.wi-paper-rule{pointer-events:none;border:1px solid #b49a612e;position:absolute;inset:10px}.wi-content-scroll{scrollbar-width:thin;scrollbar-color:#b9a77e transparent;overscroll-behavior:contain;min-height:0;max-height:100%;position:relative;overflow:auto}.wi-eyebrow{color:var(--wi-gold);letter-spacing:.21em;text-align:center;margin:0 0 30px;font-family:Georgia,serif;font-size:11px;font-weight:400;line-height:1.65}.wi-page h2{text-align:center;letter-spacing:.06em;overflow-wrap:anywhere;margin:0 0 30px;font-size:clamp(25px,7.5vw,36px);font-weight:500;line-height:1.6}.wi-couple-names{flex-direction:column;gap:6px;display:flex}.wi-couple-names .wi-names-join{color:var(--wi-gold);font-family:Georgia,serif;font-size:23px;font-style:italic}.wi-invitation-copy{text-align:center;white-space:pre-line;overflow-wrap:anywhere;max-width:28em;margin:28px auto;font-size:17px;line-height:1.95}.wi-date-block{text-align:center;border-top:1px solid #b5a17e42;padding:22px 6px 5px}.wi-date-block span{color:#8e7658;margin-bottom:11px;font-size:16px;display:block}.wi-date-block strong{overflow-wrap:anywhere;font-size:clamp(22px,6vw,29px);font-weight:500;line-height:1.65;display:block}.wi-details{margin:0;font-size:17px;line-height:1.65}.wi-details div{border-bottom:1px solid #b5a17e35;padding:15px 0}.wi-details dt{color:#927854;margin-bottom:6px;font-size:16px}.wi-details dd{overflow-wrap:anywhere;white-space:pre-line;margin:0;font-size:20px}.wi-details-times{grid-template-columns:1fr 1fr;column-gap:18px;display:grid}.wi-details-times dd{font-size:21px}.wi-details-venue{margin-top:9px}.wi-details-address dd{text-wrap:balance;font-size:clamp(18px,4.8vw,22px);line-height:1.8}.wi-page .wi-navigation{color:#765832;border:1px solid #b4976c;border-radius:2px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;margin-top:30px;padding:10px 12px;display:flex}.wi-navigation:disabled{opacity:.65!important}.wi-next-note{color:#93795a;text-align:center;margin:30px 0 0;font-size:16px;line-height:1.8}.wi-page-number{color:#b29b78;letter-spacing:.14em;font-size:12px;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.wi-page-photo{background:#211e1a;justify-content:center;align-items:center;display:flex}.wi-photo{opacity:0;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;transition:opacity .4s;display:block}.wi-photo-contain{object-fit:contain}.wi-photo-cover{object-fit:cover}.wi-photo-ready{opacity:1}.wi-photo-caption{z-index:1;color:#fff8ec;text-align:center;background:linear-gradient(#0000,#0007);margin:0;padding:30px 18px 18px;font-size:17px;line-height:1.8;position:absolute;bottom:32px;left:0;right:0}.wi-photo-tap-hint{z-index:2;color:#fffaee;white-space:nowrap;background:#1b160b82;border-radius:20px;padding:6px 11px;font-family:system-ui,sans-serif;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.wi-photo-loading{text-align:center;color:#ede2cf;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.wi-photo-loading h2{margin-bottom:14px;font-size:23px}.wi-photo-loading p{font-family:system-ui,sans-serif;font-size:16px;line-height:1.8}.wi-photo-loading button{border:1px solid #b29869;margin-top:16px;padding:10px 22px}.wi-loading-spinner{border:2px solid #bfae8933;border-top-color:#d9bd86;border-radius:50%;width:29px;height:29px;animation:1s linear infinite wi-spin}.wi-page-pending{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:26px;display:flex}.wi-pending-mark{color:#b29768;width:66px;height:66px;margin-bottom:30px}.wi-pending-mark svg{stroke-width:1px;width:100%;height:100%}.wi-page-pending .wi-eyebrow{margin-bottom:13px}.wi-page-pending h2{margin-bottom:22px;font-size:27px}.wi-page-pending p:not(.wi-eyebrow){max-width:23em;margin:0;font-size:17px;line-height:1.9}.wi-page-pending .wi-pending-note{color:#967e5b;margin-top:30px!important;font-size:16px!important}.wi-reader-controls{z-index:4;padding:10px max(16px, env(safe-area-inset-right,0px)) 11px max(16px, env(safe-area-inset-left,0px));color:#6b583c;background:#fbf6ed;border-top:1px solid #b59c762e;font-family:system-ui,sans-serif;position:relative}.wi-reading-status{justify-content:space-between;gap:8px;padding:0 4px;font-size:13px;line-height:1.7;display:flex}.wi-reading-progress{background:#c5b49745;height:2px;margin:8px 4px 7px;overflow:hidden}.wi-reading-progress span{transform-origin:0;background:#9b7c4f;height:100%;transition:transform .11s linear;display:block}.wi-reading-buttons{grid-template-columns:1fr 1fr 1fr;align-items:center;column-gap:10px;display:grid}.wi-reading-buttons button{justify-content:center;align-items:center;gap:5px;padding:5px 2px;display:flex}.wi-reading-buttons button svg{width:18px;height:18px}.wi-reading-buttons .wi-pause{background:#f1e8d8;border:1px solid #b59c7663}.wi-reduced-motion *,.wi-reduced-motion :before,.wi-reduced-motion :after{transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important}@keyframes wi-unfold{0%{opacity:0;transform:rotateX(-32deg)translateY(22px)}to{opacity:1;transform:rotateX(0)translateY(0)}}@keyframes wi-glide-in{0%{opacity:0;transform:translateX(calc(var(--wi-sign) * 60%))}to{opacity:1;transform:none}}@keyframes wi-glide-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(var(--wi-sign) * -35%))}}@keyframes wi-rise-in{0%{opacity:0;transform:translateY(calc(var(--wi-sign) * 28%))}to{opacity:1;transform:none}}@keyframes wi-rise-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(var(--wi-sign) * -16%))}}@keyframes wi-dissolve-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes wi-dissolve-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(1.025)}}@keyframes wi-paper-in{0%{opacity:.4;clip-path:var(--wi-page-start);transform:rotateY(calc(var(--wi-sign) * 14deg))}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes wi-paper-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(var(--wi-sign) * -8%))}}@keyframes wi-split-in{0%{opacity:0}to{opacity:1}}@keyframes wi-pair-left{0%{transform:translateX(calc(var(--wi-sign) * -32%))}to{transform:none}}@keyframes wi-pair-right{0%{transform:translateX(calc(var(--wi-sign) * 32%))}to{transform:none}}@keyframes wi-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes wi-wash{0%{opacity:0;transform:translate(calc(var(--wi-sign) * var(--wi-wash-start-x)), calc(var(--wi-sign) * var(--wi-wash-start-y)))}45%{opacity:.55}to{opacity:0;transform:translate(calc(var(--wi-sign) * var(--wi-wash-end-x)), calc(var(--wi-sign) * var(--wi-wash-end-y)))}}@keyframes wi-spin{to{transform:rotate(360deg)}}@media (width>=720px){.wi-stage{place-items:center;display:grid}.wi-slide{width:min(620px,100%);margin-left:max(-310px,-50%);padding:24px;left:50%;right:auto}.wi-toolbar{padding-left:24px;padding-right:24px}.wi-reader-controls{padding-left:max(24px,50% - 310px);padding-right:max(24px,50% - 310px)}}@media (height<=740px){.wi-toolbar{min-height:56px}.wi-slide{padding:10px 14px}.wi-page-info{padding-top:24px;padding-bottom:28px}.wi-eyebrow{margin-bottom:18px}.wi-page h2{margin-bottom:18px;font-size:26px}.wi-couple-names{gap:0}.wi-couple-names .wi-names-join{font-size:20px}.wi-invitation-copy{margin:15px auto}.wi-date-block{padding-top:15px}.wi-details div{padding:10px 0}.wi-page .wi-navigation{margin-top:20px}.wi-next-note{margin-top:18px}.wi-reader-controls{padding-top:7px;padding-bottom:7px}}.wi-toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.wi-toolbar>p{text-align:center;white-space:nowrap}.wi-toolbar-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.wi-toolbar-actions .wi-sound,.wi-toolbar-actions .wi-credits{place-items:center;width:44px;min-width:44px;padding:0;display:grid}.wi-toolbar-actions .wi-quick-info{min-width:66px;padding:6px}.wi-toolbar-actions .wi-sound svg,.wi-toolbar-actions .wi-credits svg{width:19px;height:19px}.wi-has-album{--wi-paper:#fffcf6;--wi-ink:#49483e;--wi-gold:#96856a;background:#f8f4ed}.wi-has-album .wi-toolbar{background:#fffcf6;border-bottom-color:#a28d701a;min-height:44px;padding-top:0;padding-bottom:0}.wi-has-album .wi-toolbar>p{letter-spacing:.06em;font-size:13px}.wi-has-album .wi-toolbar .wi-back{font-family:system-ui,sans-serif;font-size:14px}.wi-has-album .wi-toolbar .wi-quick-info{font-size:13px}.wi-has-album .wi-stage{background:#f8f4ed}.wi-has-album .wi-slide{padding:4px clamp(4px,1.4vw,12px)}.wi-has-album .wi-reader-controls{background:#fffcf6;border-top-color:#a28d701a;padding-top:4px;padding-bottom:4px}.wi-has-album .wi-reading-status{font-size:12px;line-height:1.5}.wi-has-album .wi-reading-progress{margin-top:4px;margin-bottom:3px}.wi-has-album .wi-reading-buttons button{font-size:14px}.wi-has-album .wi-reading-buttons .wi-pause{background:#f6efe5;border-color:#a58c6330;border-radius:3px}.wi-page-album{box-shadow:none;background:#fffcf6;border:none;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;padding:6px 4px 4px;display:grid}.wi-album-tone-ink{color:#343e36;background:#f4f1ea}.wi-album-tone-meadow{color:#495345;background:#f2f5ee}.wi-album-head{text-align:center;padding:0 10px;position:relative}.wi-album-head .wi-eyebrow{letter-spacing:.22em;margin:0;font-size:9px;line-height:1.5}.wi-album-head h2{letter-spacing:.1em;margin:6px 0 0;font-size:clamp(19px,5vw,25px);font-weight:400;line-height:1.4}.wi-album-rule{background:#9a8a6f5c;width:28px;height:1px;margin:8px auto 0;display:block}.wi-album-art{width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.wi-album-photo{width:100%;min-width:0;height:100%;min-height:0;margin:0;position:relative}.wi-album-photo-frame{width:100%;height:100%;position:relative}.wi-album-photo-frame>.wi-photo{object-fit:contain;width:100%;height:100%}.wi-album-diptych .wi-album-art{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8px;padding:10px 0}.wi-album-diptych .wi-album-photo-1{transform:translateY(-8px)}.wi-album-diptych .wi-album-photo-2{transform:translateY(8px)}.wi-album-mixed .wi-album-art{grid-template-rows:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.wi-album-copy{text-align:center;min-width:0;padding:0 8px;position:relative}.wi-album-cover-copy h2{letter-spacing:.08em;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px;margin:1px 0 4px;font-size:clamp(22px,5.5vw,29px);font-weight:400;line-height:1.45;display:flex}.wi-album-cover-copy h2 i{color:#94816a;font-family:Georgia,serif;font-size:18px;font-weight:400}.wi-album-wedding-date{letter-spacing:.18em;color:#796f60;margin:0;font-family:Georgia,serif;font-size:15px;line-height:1.5}.wi-album-caption{letter-spacing:.03em;white-space:pre-line;max-width:28em;margin:5px auto 0;font-size:13px;line-height:1.6}.wi-album-tap-hint{color:#a19584;min-height:16px;margin:5px 0 0;font-family:system-ui,sans-serif;font-size:11px;line-height:1.45}.wi-page-album .wi-photo-loading{color:#766c5c;background:#fffcf6;padding:8px}.wi-page-album .wi-photo-loading h2{letter-spacing:0;margin:0 0 4px;font-family:system-ui,sans-serif;font-size:14px;line-height:1.6}.wi-page-album .wi-photo-loading p{margin:10px 0;font-size:12px}.wi-page-album .wi-photo-loading button{border-color:#b09b764a;border-radius:0;min-height:44px;margin-top:4px;padding:6px 9px;font-family:system-ui,sans-serif;font-size:12px}.wi-page-album .wi-loading-spinner{border-color:#a38b69 #b09b7625 #b09b7625;width:24px;height:24px}@media (width<=360px){.wi-has-album .wi-toolbar{gap:1px;padding-left:8px;padding-right:8px}.wi-has-album .wi-toolbar>p{font-size:12px}.wi-has-album .wi-toolbar-actions{gap:0}.wi-has-album .wi-toolbar-actions .wi-quick-info{min-width:60px;font-size:12px}.wi-has-album .wi-slide,.wi-page-album{padding-left:5px;padding-right:5px}.wi-album-diptych .wi-album-art{column-gap:6px}}@media (height<=740px){.wi-page-album{gap:5px;padding-top:7px;padding-bottom:5px}.wi-album-head .wi-eyebrow{font-size:8px}.wi-album-head h2{margin-top:3px;font-size:19px}.wi-album-rule{margin-top:5px}.wi-album-cover-copy h2{margin:0 0 2px;font-size:22px}.wi-album-wedding-date{font-size:13px}.wi-album-caption{margin-top:3px;font-size:12px}.wi-album-tap-hint{margin-top:3px;font-size:10px}}@media (width>=720px){.wi-has-album .wi-slide{width:min(960px,100%);margin-left:max(-480px,-50%)}}@media (height<=640px){.wi-page-album .wi-album-head .wi-eyebrow,.wi-page-album .wi-album-rule,.wi-album-tap-hint{display:none}.wi-page-album .wi-album-head h2{margin:0;font-size:18px;line-height:1.4}.wi-album-cover{grid-template-rows:minmax(0,1fr) auto}.wi-album-cover .wi-album-head{display:none}.wi-album-cover .wi-album-art{grid-row:1}.wi-album-cover .wi-album-copy{grid-row:2}}@media (orientation:portrait) and (height<=560px){.wi-album-mixed .wi-album-art{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6px}}@media (orientation:landscape) and (height<=740px){.wi-has-album .wi-toolbar{min-height:48px;padding-top:0;padding-bottom:0}.wi-has-album .wi-reader-controls{padding-top:3px;padding-bottom:3px}.wi-has-album .wi-reading-progress{margin-top:3px;margin-bottom:2px}.wi-has-album .wi-slide{width:min(960px,100%);margin-left:max(-480px,-50%);padding-top:5px;padding-bottom:5px;left:50%;right:auto}.wi-page-album{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,3fr) minmax(130px,1fr);gap:8px}.wi-page-album .wi-album-art{grid-area:1/1/3}.wi-page-album .wi-album-head{grid-area:1/2;align-self:end;padding:0 4px}.wi-page-album .wi-album-copy{grid-area:2/2;align-self:start;padding:3px 4px}.wi-album-head h2{font-size:18px}.wi-album-caption{font-size:12px;line-height:1.8}.wi-album-mixed .wi-album-art{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.wi-album-cover .wi-album-head{display:none}.wi-album-cover .wi-album-copy{grid-area:1/2/3;align-self:center}.wi-album-cover-copy h2{flex-direction:column;gap:0;font-size:20px}.wi-album-cover-copy h2 i{font-size:15px}.wi-album-diptych .wi-album-art{padding-top:8px;padding-bottom:8px}.wi-album-diptych .wi-album-photo-1,.wi-album-diptych .wi-album-photo-2{transform:none}.wi-album-tap-hint{display:none}}.theme-motion-native{z-index:0;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.tm-scene-layers,.tm-character-greeting{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tm-light-pulse{opacity:.43;animation:4.8s ease-in-out infinite tm-light-soft}.tm-light-pulse-slow{opacity:.4;animation:7.1s ease-in-out 1.4s infinite tm-light-soft}.tm-curtain-sheen{opacity:.27;animation:6.6s ease-in-out infinite tm-velvet-sheen}.tm-curtain-b{animation-duration:8s;animation-delay:-3.2s}.tm-reel-turn{transform-box:view-box;transform-origin:0 0;animation:26s linear infinite tm-reel-rotation}.tm-projector-breath{opacity:.4;animation:4.7s ease-in-out infinite tm-projector-soft}.tm-stage-lights{animation-delay:-2.1s}.tm-native-branch-shadow{mix-blend-mode:multiply;opacity:.1;animation:8.6s ease-in-out infinite tm-existing-shadow}.tm-branch-sun{opacity:.19}.tm-gauze-sheen{opacity:.24;animation:7.8s ease-in-out infinite tm-silk-sheen}.tm-gauze-b{animation-duration:9.1s;animation-delay:-4.5s}.tm-wave-silver{opacity:.47;animation:5.8s linear infinite tm-sea-silver}.tm-heart-breathe{opacity:.39;animation:4.2s ease-in-out infinite tm-heart-warmth}.tm-balloon-gloss{opacity:.38;animation:6.6s ease-in-out infinite tm-balloon-reflection}.tm-balloon-b{animation-duration:7.3s;animation-delay:-3.4s}.tm-paused *{animation-play-state:paused!important}.tm-static *{transition:none!important;animation:none!important}.tm-static .tm-reel-turn{transform:none}.tm-static .tm-wave-silver{opacity:.22}.tm-static .tm-native-branch-shadow{opacity:.07}@keyframes tm-light-soft{0%,to{opacity:.35}48%{opacity:.67}72%{opacity:.49}}@keyframes tm-velvet-sheen{0%,to{opacity:.12;transform:translate(-17px)}50%{opacity:.32;transform:translate(17px)}}@keyframes tm-reel-rotation{to{transform:rotate(360deg)}}@keyframes tm-projector-soft{0%,to{opacity:.24}48%{opacity:.56}70%{opacity:.38}}@keyframes tm-existing-shadow{0%,to{opacity:.06}50%{opacity:.16}}@keyframes tm-silk-sheen{0%,to{opacity:.13;transform:translate(-14px)}52%{opacity:.42;transform:translate(14px)}}@keyframes tm-sea-silver{0%{opacity:.28;transform:translate(-90px)}38%{opacity:.71}70%{opacity:.47}to{opacity:.28;transform:translate(90px)}}@keyframes tm-heart-warmth{0%,to{opacity:.26}50%{opacity:.64}}@keyframes tm-balloon-reflection{0%,to{opacity:.22;transform:translate(-8px)}50%{opacity:.59;transform:translate(8px)}}.scene-film-entry{color:#735438;cursor:pointer;width:100%;min-height:72px;font:inherit;background:#fff8e9eb;border:1px solid #c2a875;border-radius:40px;justify-content:center;align-items:center;gap:13px;padding:12px 24px;display:flex;box-shadow:0 6px 24px #65401d24}.scene-film-entry strong{letter-spacing:.06em;font-family:Songti SC,SimSun,serif;font-size:19px;font-weight:500;display:block}.scene-film-entry small{letter-spacing:.05em;color:#94754d;margin-top:6px;font-size:12px;display:block}.scene-film-play{background:#f1e3c8;border:1px solid #c1a273;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.scene-film-play svg{width:20px;height:20px}.theme-cinema[hidden]{display:none}.theme-cinema{z-index:100;isolation:isolate;color:#fff9ef;height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#181b19;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.cinema-atmosphere{z-index:-2;object-fit:cover;filter:blur(26px)brightness(.35)saturate(.7);pointer-events:none;width:calc(100% + 60px);height:calc(100% + 60px);position:absolute;inset:-30px}.theme-cinema:before{content:"";z-index:-1;pointer-events:none;background:#131b1b55;position:absolute;inset:0}.cinema-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 16px;display:grid}.cinema-header h2{letter-spacing:.08em;margin:0;font-family:Songti SC,SimSun,serif;font-size:17px;font-weight:400}.theme-cinema button{min-height:44px;color:inherit;cursor:pointer;font:inherit;background:#fff5de0d;border:1px solid #fff3d742;border-radius:24px;justify-content:center;align-items:center;gap:5px;padding:0 15px;font-size:14px;display:inline-flex}.theme-cinema button svg{width:19px;height:19px}.theme-cinema .cinema-back{white-space:nowrap;justify-self:start;padding-left:10px}.theme-cinema .cinema-sound{justify-self:end;width:44px;padding:0}.scene-film-entry:focus-visible,.theme-cinema button:focus-visible,.theme-cinema video:focus-visible{outline-offset:3px;outline:3px solid #d8bc86}.cinema-screen{place-items:center;min-width:0;min-height:0;margin:0 12px;display:grid;position:relative}.cinema-screen video{object-fit:contain;border:0;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%;display:block}.cinema-message{text-align:center;background:#171d1bd9;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;display:flex;position:absolute;inset:0}.cinema-message p{margin:0;font-size:15px}.cinema-message button{background:#fff2d722;min-width:130px}.cinema-loading{pointer-events:none;background:#171d1b85}.cinema-footer{text-align:center;padding:12px 20px 14px}.cinema-footer>p{color:#fff8e1c9;letter-spacing:.12em;margin:0;font-family:Songti SC,SimSun,serif;font-size:15px;line-height:1.6}.cinema-footer>p span{letter-spacing:.2em;color:#fff8e191;margin-top:3px;font-family:Georgia,serif;font-size:11px;display:block}.cinema-ending{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}@media (width<=360px){.cinema-header{gap:5px;padding:9px 10px}.cinema-header h2{font-size:14px}.theme-cinema .cinema-back{padding-right:10px;font-size:13px}.scene-film-entry{padding-inline:14px}.scene-film-entry strong{font-size:17px}}@media (orientation:landscape) and (height<=500px){.cinema-header{padding-block:5px}.cinema-footer{padding-block:6px}.cinema-footer>p{font-size:12px}.cinema-footer>p span{margin-left:16px;display:inline}.cinema-ending{flex-direction:column;position:absolute;bottom:16px;right:20px}.scene-film-entry{min-height:60px;padding:8px 16px}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{color:#634626;background:#f8eee0;font-family:PingFang SC,Microsoft YaHei,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #c39350}button svg{flex:none;width:20px;height:20px}img{max-width:100%}button{touch-action:manipulation}button:disabled{opacity:.5}.wedding-app{isolation:isolate;background:#f7e7d5;width:100%;height:100dvh;position:relative;overflow:hidden}.garden-wash{filter:blur(28px);opacity:.7;background-position:50%;background-size:cover;position:absolute;inset:-30px}.garden-stage{aspect-ratio:853/1844;isolation:isolate;height:min(100dvh,216.178vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.garden-art,.light-guide{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.light-guide{pointer-events:none;z-index:1}.garden-title{text-align:center;color:#92663e;z-index:2;width:100%;position:absolute;top:6.9%;left:0}.garden-title p{letter-spacing:.15em;margin:0 0 10px;font-size:14px}.garden-title h1{letter-spacing:.08em;margin:0 0 9px;font-family:Songti SC,SimSun,serif;font-size:clamp(24px,5.4vw,34px);font-weight:500}.garden-title span{letter-spacing:.08em;font-size:16px}.garden-title i{margin:0 9px;font-family:Georgia,serif;font-style:italic}.garden-entrance{z-index:3;color:#74512e;background:0 0;border:none;width:24%;height:8%;padding:0;position:absolute;transform:translate(-50%,-50%)}.garden-entrance span{white-space:nowrap;text-shadow:0 1px 2px #fff9df,0 0 10px #fff5de;background:#fff6e1a6;border-radius:4px;padding:2px 9px;font-family:Songti SC,SimSun,serif;font-size:clamp(16px,4.1vw,22px);font-weight:600;position:absolute;top:80%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 9px #fff6e0}.garden-entrance:hover span,.garden-entrance:focus-visible span{background:#fff3da;box-shadow:0 0 22px #fd9}.garden-entrance:active{scale:.97}.central-entry{z-index:3;background:0 0;border:0;border-radius:45%;width:31%;height:11%;position:absolute;top:39%;left:35%}.seal-entry{z-index:3;background:0 0;border:0;border-radius:50%;width:15%;height:6%;position:absolute;top:65.5%;left:43%}.garden-bottom{z-index:4;bottom:max(8.8vh,calc(env(safe-area-inset-bottom) + 25px));text-align:center;width:min(76vw,340px);position:absolute;left:50%;transform:translate(-50%)}.primary-invitation{color:#6d4727;letter-spacing:.2em;background:linear-gradient(135deg,#f8e5c2,#ffeed4 48%,#e9c58d);border:1px solid #b68b51;border-radius:8px;width:100%;min-height:53px;font-family:Songti SC,SimSun,serif;font-size:21px;box-shadow:0 5px 20px #9c682327,inset 0 0 0 3px #fff6d479}.primary-invitation span{letter-spacing:.16em;margin-top:3px;font-family:Microsoft YaHei,sans-serif;font-size:11px;display:block}.garden-bottom p{letter-spacing:.02em;color:#976c49;margin:11px -20px 0;font-size:12px}.quick-wedding{right:max(17px,env(safe-area-inset-right));top:max(17px,env(safe-area-inset-top));z-index:5;color:#755232;background:#fff6e6d9;border:1px solid #cbab77;border-radius:24px;min-height:44px;padding:0 14px;font-size:15px;position:absolute}.unified-sound{right:max(17px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:15;color:#765131;justify-items:center;gap:4px;display:grid;position:absolute}.unified-sound button{color:#785533;background:#fff1dfe3;border:1px solid #c4a56e;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.unified-sound span{font-size:11px}.sound-garden{top:max(73px,calc(env(safe-area-inset-top) + 55px));bottom:auto}.credits-entry{left:max(15px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:16;color:#705338;background:#ffeedace;border:none;border-radius:50%;min-width:44px;min-height:44px;font-size:18px;position:absolute}.intro-page{position:absolute;inset:0}.intro-page>img{object-fit:cover;filter:blur(3px);opacity:.53;width:100%;height:100%}.intro-paper{text-align:center;background:#fff7e9ef;border:1px solid #c3a172;border-radius:4px;width:min(84vw,410px);padding:48px 25px;animation:1.2s both letter-open;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 100px #77503e55}.intro-paper>p{letter-spacing:.18em;color:#a37d4d;font-family:Georgia,serif;font-size:12px}.intro-paper h1{letter-spacing:.12em;font-family:Songti SC,SimSun,serif;font-size:30px;font-weight:500;line-height:1.65}.intro-paper>span{color:#947659;font-size:15px}.intro-paper>button{color:#775336;background:#f2dfbd;border:1px solid #ba9866;border-radius:4px;width:90%;min-height:50px;margin:30px auto 0;font-size:18px;display:block}.skip-button{right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));color:#735538;z-index:6;background:#fff3dce8;border:1px solid #eee0c3;border-radius:24px;min-height:44px;padding:0 15px;position:absolute}.theme-scene,.scene-transition{isolation:isolate;background:#4a2415;position:absolute;inset:0}.scene-art,.scene-transition>img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute}.scene-navigation{left:18px;right:18px;top:max(18px,env(safe-area-inset-top));z-index:5;justify-content:space-between;display:flex;position:absolute}.scene-navigation button{color:#795331;background:#fff4dfde;border:1px solid #e5d5b4aa;border-radius:24px;align-items:center;gap:4px;min-height:44px;padding:0 12px;font-size:16px;display:flex}.theme-heading{text-align:center;color:#fff2d8;text-shadow:0 1px 5px #562d11,0 0 18px #49220e;width:88%;position:absolute;top:12%;left:6%}.theme-heading>p{letter-spacing:.2em;margin:0 0 9px;font:11px Georgia,serif}.theme-heading h1{letter-spacing:.12em;margin:0 0 10px;font-family:Songti SC,SimSun,serif;font-size:30px;font-weight:500}.theme-heading>span{font-size:16px;line-height:1.5}.scene-costume .theme-heading,.scene-beach .theme-heading,.scene-qcute .theme-heading{color:#674b32;text-shadow:0 1px 5px #fff6e4,0 0 18px #fff6e4}.theme-video{z-index:3;width:80%;height:43%;position:absolute;top:27%;left:10%}.scene-film .theme-video{width:74%;height:36%;top:23%;left:13%}.video-stage{place-items:center;width:100%;height:100%;display:grid;position:relative}.video-stage video{object-fit:contain;background:#140e09;border:1px solid #bf9964;width:100%;height:100%;box-shadow:0 5px 25px #4a251544}.awaiting-film{color:#896742;text-align:center;background:#fff5dfb3;border:1px solid #cbaf7d80;border-radius:5px;width:90%;max-width:300px;padding:24px 20px;box-shadow:0 10px 45px #8e531718}.scene-film .awaiting-film{box-shadow:none;background:0 0;border:0}.awaiting-film svg{opacity:.65;width:34px;height:34px}.awaiting-film p{letter-spacing:.03em;margin:15px 0 0;font-size:17px}.video-message{color:#fff4df;text-align:center;background:#3d2419c9;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:17px;display:flex;position:absolute;inset:0}.video-message button{color:#75532f;background:#f7dfb7;border:1px solid #d4b389;border-radius:24px;align-items:center;gap:8px;min-height:44px;padding:0 20px;display:flex}.loading-dot{border:2px solid #fff8;border-top-color:#0000;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.scene-keepsake{z-index:5;white-space:nowrap;color:#896441;background:#fff0dbe8;border:1px solid #c1a170;border-radius:25px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:15px;display:flex;position:absolute;bottom:max(14%,110px);left:50%;transform:translate(-50%)}.heart-feedback{z-index:6;pointer-events:none;position:absolute;bottom:20%;left:50%}.heart-feedback svg{color:#e6a291;fill:#ffd1bdaa;width:28px;height:28px;animation:1.6s both heart-rise;position:absolute}.heart-feedback svg:nth-child(2){animation-delay:.1s;left:-42px}.heart-feedback svg:nth-child(3){animation-delay:.3s;left:32px}.object-motion{pointer-events:none;z-index:-1;position:absolute;inset:0}.object-layers{width:100%;height:100%;position:absolute}.projector-beam{clip-path:polygon(0 70%,100% 0,100% 100%);mix-blend-mode:screen;filter:blur(3px);transform-origin:0 70%;background:linear-gradient(90deg,#fffbd994,#ffffe21a);width:76%;height:17%;animation:4s ease-in-out infinite projector;position:absolute;top:40%;left:7%}.courtyard-shadows{filter:blur(4px);background:repeating-linear-gradient(112deg,#0000 0 35px,#402b1d10 45px 53px,#0000 63px 90px);animation:7s ease-in-out infinite tree-shadow;position:absolute;inset:62% 4% 11%}.wave-shimmer{filter:blur(2px);mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#0000 0 8px,#fff7cf4d 9px 11px,#0000 14px 21px);animation:5s ease-in-out infinite sea-wave;position:absolute;inset:31% 7% 54%}.toy-light{background:linear-gradient(110deg,#0000,#fff3b454,#0000);animation:4s ease-in-out infinite toy-shimmer;position:absolute;inset:16% 10% 68%}.objects-reduced *{animation:none!important}.objects-reduced .object-layers{display:none}.scene-transition>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.transition-shutter{background:#481b13;animation:2.6s cubic-bezier(.4,0,.2,1) both cinema-reveal;position:absolute;inset:0}.transition-costume .transition-shutter{background:#2d2118;animation:2.6s both moon-reveal}.transition-beach .transition-shutter{background:#fff9e8;animation:2.6s both shore-reveal}.transition-qcute .transition-shutter{transform-origin:0;background:#ffe4ca;animation:2.6s both book-reveal}.transition-letter .transition-shutter{background:#fff7e8;animation:1s both letter-reveal}.transition-caption{text-align:center;color:#fff7e3;text-shadow:0 2px 12px #623f20;z-index:4;width:100%;padding:0 30px;animation:2.6s both caption-in;position:absolute;bottom:16%}.transition-caption p{font-family:Songti SC,SimSun,serif;font-size:21px;line-height:1.6}.transition-caption span{font-size:16px}.quick-overlay{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#4f342377;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.quick-overlay article{overscroll-behavior:contain;color:#745336;background:#fff7e9;border:1px solid #c8a97a;border-radius:10px;width:min(100%,460px);max-height:calc(100dvh - 50px);padding:35px 25px;line-height:1.7;position:relative;overflow:auto;box-shadow:0 20px 90px #55321966}.quick-overlay h2{margin:5px 0 22px;font-family:Songti SC,SimSun,serif;font-size:26px;font-weight:500}.quick-overlay dl{margin:0}.quick-overlay dt{color:#a17c50;margin-top:16px;font-size:14px}.quick-overlay dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:18px;line-height:1.6}.quick-overlay a{color:#936734;font-size:14px}.dialog-close{color:#735130;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:10px;right:10px}.navigation-action{color:#775534;background:#f1dfbf;border:1px solid #c6a578;border-radius:6px;width:100%;min-height:48px;margin-top:26px;font-size:17px}.opening-video{height:32vh;margin-top:20px}.page-invitation .unified-sound,.page-invitation .credits-entry{bottom:calc(env(safe-area-inset-bottom) + 82px)}@keyframes cinema-reveal{0%,12%{clip-path:inset(0)}90%,to{clip-path:inset(0 50%)}}@keyframes moon-reveal{0%,12%{clip-path:circle(0% at 50% 48%)}to{clip-path:circle(100% at 50% 48%)}}@keyframes shore-reveal{0%,12%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16%)}}@keyframes book-reveal{0%,12%{opacity:1;transform:perspective(800px)rotateY(0)}to{opacity:0;transform:perspective(800px)rotateY(-95deg)}}@keyframes letter-reveal{0%{clip-path:inset(10% 14% round 6px)}to{clip-path:inset(50% round 6px)}}@keyframes caption-in{0%,20%{opacity:0;transform:translateY(10px)}50%,to{opacity:1;transform:translateY(0)}}@keyframes letter-open{0%{opacity:0;transform:translate(-50%,-46%)rotateX(-12deg)}to{opacity:1;transform:translate(-50%,-50%)rotateX(0)}}@keyframes projector{0%,to{opacity:.38;transform:rotate(-2deg)}50%{opacity:.78;transform:rotate(2deg)}}@keyframes tree-shadow{0%,to{transform:translate(-6px)}50%{transform:translate(8px)}}@keyframes sea-wave{0%,to{opacity:.45;transform:translateY(-4px)}50%{opacity:.85;transform:translateY(9px)}}@keyframes toy-shimmer{0%,to{opacity:.35;transform:translate(-12px)}50%{opacity:.9;transform:translate(12px)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(0)scale(.7)}25%{opacity:1}to{opacity:0;transform:translateY(-100px)scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@media (aspect-ratio>=1){.theme-scene,.scene-transition,.intro-page{width:min(100%,56.25dvh);left:50%;transform:translate(-50%)}.garden-bottom{bottom:9vh}.quick-wedding,.sound-garden{right:calc(50% - 22dvh + 15px)}.page-theme .unified-sound{right:calc(50% - 27dvh + 15px)}.theme-scene:before{content:"";z-index:-5;background:#e9d7c4;position:fixed;inset:0}.theme-heading h1{font-size:28px}.credits-entry{left:calc(50% - 22dvh + 15px)}}@media (height<=650px){.garden-title{top:7.5%}.garden-title p{margin-bottom:6px;font-size:11px}.garden-title h1{font-size:23px}.garden-title span{font-size:14px}.garden-bottom{bottom:7vh}.garden-bottom p{font-size:11px}.theme-heading{top:13%}.theme-heading h1{font-size:25px}.theme-heading>span{font-size:14px}.scene-keepsake{min-height:44px;font-size:14px;bottom:13%}.intro-paper{padding:25px}.intro-paper h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.object-motion *,.intro-paper,.transition-shutter,.transition-caption,.heart-feedback svg{animation:none!important}.transition-shutter{opacity:0}.object-layers{display:none}}.dynamic-full{object-fit:cover;transform-origin:50% 0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.curtain-left{transform-origin:0 0;animation:5s ease-in-out infinite curtain-left}.curtain-right{transform-origin:100% 0;animation:5.6s ease-in-out infinite curtain-right}.gauze-left{transform-origin:0 0;animation:5s ease-in-out infinite gauze-flow}.gauze-right{transform-origin:100% 0;animation:6s ease-in-out 1s infinite gauze-flow}.dynamic-lantern{object-fit:contain;transform-origin:50% 0;width:29%;height:31%;animation:4.8s ease-in-out infinite lantern-sway;position:absolute;top:5%;left:-3%}.dynamic-balloons{object-fit:contain;width:36%;height:30%;animation:5s ease-in-out infinite balloon-float;position:absolute;top:57%;right:-8%}.objects-reduced .dynamic-full,.objects-reduced .dynamic-lantern,.objects-reduced .dynamic-balloons{animation:none}.scene-costume .theme-heading{top:12%}.scene-beach .theme-heading{background:#fff8e4b0;border-radius:8px;padding:12px}.scene-qcute .theme-heading{background:#fff8e4ad;border-radius:8px;padding:12px}.transition-costume .transition-shutter{animation:2.6s both moon-reveal-fixed}@keyframes moon-reveal-fixed{0%,12%{clip-path:circle(120% at 50% 48%)}to{clip-path:circle(0% at 50% 48%)}}@keyframes curtain-left{0%,to{transform:skew(-.8deg)scaleX(1)}50%{transform:skew(1deg)scaleX(1.025)}}@keyframes curtain-right{0%,to{transform:skew(.9deg)scaleX(1)}50%{transform:skew(-.7deg)scaleX(1.023)}}@keyframes gauze-flow{0%,to{transform:skew(-1.5deg)scaleX(.99)}50%{transform:skew(1.8deg)scaleX(1.03)}}@keyframes lantern-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes balloon-float{0%,to{transform:translateY(4px)rotate(-2deg)}50%{transform:translateY(-12px)rotate(2deg)}}.quick-overlay{z-index:70}.page-invitation .unified-sound,.page-invitation .credits-entry{z-index:50}.video-play-action{color:#79552f;background:#fff4dfde;border:1px solid #d0af7a;border-radius:26px;min-height:48px;padding:0 25px;font-size:17px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transition-curtain{object-fit:cover;pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.trans-curtain-left{animation:2.6s both curtain-exit-left}.trans-curtain-right{animation:2.6s both curtain-exit-right}.transition-paused *{animation-play-state:paused!important}@keyframes curtain-exit-left{0%,18%{transform:translate(45%)scaleX(3.5)}to{transform:translate(-30%)scaleX(1)}}@keyframes curtain-exit-right{0%,18%{transform:translate(-45%)scaleX(3.5)}to{transform:translate(30%)scaleX(1)}}.theme-scene.has-main .theme-video{width:84%;height:58%;top:22%;left:8%}.video-expand-action{color:#785432;z-index:5;background:#fff2d9e8;border:1px solid #d7bc8e;border-radius:24px;min-height:44px;padding:0 14px;font-size:14px;position:absolute;top:7px;right:7px}.video-stage.is-expanded{z-index:65;width:100%;height:100dvh;padding:calc(env(safe-area-inset-top) + 52px) 8px calc(env(safe-area-inset-bottom) + 20px);background:#1b120f;position:fixed;inset:0}.video-stage.is-expanded video{box-shadow:none;border:0}.video-stage.is-expanded .video-expand-action{top:max(12px,env(safe-area-inset-top));right:12px}.page-invitation .unified-sound{bottom:calc(env(safe-area-inset-bottom) + 115px);right:18px}.page-invitation .credits-entry{bottom:calc(env(safe-area-inset-bottom) + 115px);left:18px}.light-guide{-webkit-mask-image:url(/assets/wedding/v8/road-foreground-mask.svg);mask-image:url(/assets/wedding/v8/road-foreground-mask.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-source-type:luminance;mask-mode:luminance}.entrance-glow,.entrance-response{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.motion-choice{right:18px;bottom:calc(env(safe-area-inset-bottom) + 70px);z-index:17;color:#86613b;background:#fff5e2df;border:1px solid #c8ab7d99;border-radius:24px;min-height:44px;padding:0 13px;font-size:13px;position:absolute}.page-garden .motion-choice{bottom:max(16px,env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%)}.wedding-app[data-reduced-motion=false] .object-motion *{animation-play-state:running!important}.wedding-app[data-reduced-motion=false] .dynamic-full,.wedding-app[data-reduced-motion=false] .dynamic-lantern,.wedding-app[data-reduced-motion=false] .dynamic-balloons{animation-duration:5s!important}.wedding-app[data-reduced-motion=false] .curtain-left{animation-name:curtain-left!important}.wedding-app[data-reduced-motion=false] .curtain-right{animation-name:curtain-right!important}.wedding-app[data-reduced-motion=false] .gauze-left,.wedding-app[data-reduced-motion=false] .gauze-right{animation-name:gauze-flow!important}.wedding-app[data-reduced-motion=false] .dynamic-lantern{animation-name:lantern-sway!important}.wedding-app[data-reduced-motion=false] .dynamic-balloons{animation-name:balloon-float!important}.wedding-app[data-reduced-motion=false] .projector-beam{animation:4s ease-in-out infinite projector!important}.wedding-app[data-reduced-motion=false] .courtyard-shadows{animation:7s ease-in-out infinite tree-shadow!important}.wedding-app[data-reduced-motion=false] .wave-shimmer{animation:5s ease-in-out infinite sea-wave!important}.wedding-app[data-reduced-motion=false] .toy-light{animation:4s ease-in-out infinite toy-shimmer!important}.wedding-app[data-reduced-motion=false] .object-layers{display:block}.transition-back{left:18px;top:max(18px,env(safe-area-inset-top));z-index:6;color:#795331;background:#fff4dfdf;border:1px solid #dac69f;border-radius:24px;align-items:center;gap:3px;min-height:44px;padding:0 12px;display:flex;position:absolute}.transition-retry{z-index:6;color:#795331;background:#fff0d8;border:1px solid #c3a170;border-radius:24px;min-height:44px;padding:0 18px;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.wedding-app[data-reduced-motion=true] .transition-shutter,.wedding-app[data-reduced-motion=true] .transition-curtain{display:none}.wedding-app[data-reduced-motion=false] .transition-shutter{opacity:1;animation:2.6s both cinema-reveal!important}.wedding-app[data-reduced-motion=false] .transition-costume .transition-shutter{animation:2.6s both moon-reveal-fixed!important}.wedding-app[data-reduced-motion=false] .transition-beach .transition-shutter{animation:2.6s both shore-reveal!important}.wedding-app[data-reduced-motion=false] .transition-qcute .transition-shutter{animation:2.6s both book-reveal!important}.wedding-app[data-reduced-motion=false] .transition-letter .transition-shutter{animation:1s both letter-reveal!important}.wedding-app[data-reduced-motion=false] .transition-caption{animation:2.6s both caption-in!important}.wedding-app[data-reduced-motion=false].garden-is-unfolding .garden-stage{animation:1.8s ease-out both garden-unfold}.wedding-app[data-reduced-motion=false].garden-is-unfolding .garden-bottom{animation:2s both caption-in!important}@keyframes garden-unfold{0%{clip-path:inset(35% 25%);opacity:.25;filter:blur(3px)}70%{clip-path:inset(0);opacity:1}to{clip-path:inset(0);filter:blur()}}.wedding-app[data-page-visible=false] .object-motion *{animation-play-state:paused!important}.transition-origin{aspect-ratio:853/1844;z-index:1;pointer-events:none;height:min(100dvh,216.178vw);animation:2.6s both source-close;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transition-origin img{object-fit:fill;width:100%;height:100%}.transition-curtain{z-index:3}.wedding-app[data-reduced-motion=true] .transition-origin{display:none}@keyframes source-close{0%,12%{opacity:1}30%,to{opacity:0}}.scene-error-message{z-index:9;text-align:center;background:#fff5e8f2;border:1px solid #c5a174;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:29% 10% 30%}.scene-error-message p{font-size:19px}.scene-error-message button{color:#785333;background:#f4e5ca;border:1px solid #c5a174;border-radius:24px;min-height:44px;margin:6px 0;padding:0 20px}.wedding-app[data-page-visible=false] .object-layers{display:none}.wedding-app[data-reduced-motion=false] .intro-paper{animation:1.2s both letter-open!important}.wedding-app[data-reduced-motion=false] .wi-phase-opening .wi-slide-current{animation:.85s both wi-unfold!important}.wedding-app[data-reduced-motion=false] .wi-phase-transition .wi-slide-current.wi-direction-forward{animation:.6s both wi-page-in-up!important}.wedding-app[data-reduced-motion=false] .wi-phase-transition .wi-slide-current.wi-direction-back{animation:.6s both wi-page-in-down!important}.wedding-app{overflow:clip}.light-guide[data-active-route=film][data-phase=hold]~[data-entrance=film] span,.light-guide[data-active-route=costume][data-phase=hold]~[data-entrance=costume] span,.light-guide[data-active-route=beach][data-phase=hold]~[data-entrance=beach] span,.light-guide[data-active-route=qcute][data-phase=hold]~[data-entrance=qcute] span{background:#fff9e7;transition:box-shadow .3s,background .3s;box-shadow:0 0 22px #ffdb8a,0 0 6px #fff}.intro-paper:has(.opening-video){max-height:calc(100dvh - 110px);padding:20px 18px;top:50%;overflow:auto}.intro-paper:has(.opening-video) h1{margin:12px 0;font-size:24px;line-height:1.45}.intro-paper:has(.opening-video)>p{margin:4px 0}.intro-paper:has(.opening-video)>button{margin:16px auto 0}.opening-video{min-height:140px}.garden-entrance,.central-entry,.seal-entry{min-width:44px;min-height:44px}@media (orientation:landscape) and (height<=500px){.garden-title{top:5%}.garden-title p{margin-bottom:5px;font-size:9px}.garden-title h1{margin-bottom:5px;font-size:18px}.garden-title span{font-size:12px}.quick-wedding,.sound-garden{right:max(18px,env(safe-area-inset-right))}.garden-bottom{left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:190px;transform:none}.garden-bottom p{display:none}.primary-invitation{min-height:48px;font-size:18px}.credits-entry{bottom:80px;left:18px}.page-garden .motion-choice{bottom:18px}.theme-heading{top:20%}.theme-heading h1{font-size:21px}.theme-heading>span{font-size:12px}.theme-heading p{display:none}.scene-keepsake{font-size:12px;bottom:18%}.page-theme .motion-choice{bottom:18px;right:18px}}.garden-reference-hotspot{cursor:pointer;outline-offset:3px;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;padding:0}.garden-reference-hotspot:focus-visible{outline:2px solid #fff5cb;box-shadow:0 0 0 4px #7e5224aa}.garden-entrance.garden-reference-hotspot:hover{background:0 0}.garden-entrance.garden-reference-hotspot:active{scale:1}.garden-invitation-hotspot{z-index:5;border-radius:28px;width:65%;min-width:44px;height:6.1%;min-height:44px;position:absolute;top:86.6%;left:50%;transform:translate(-50%,-50%)}.garden-date-hotspot{z-index:5;width:36%;min-width:44px;height:3.5%;min-height:44px;position:absolute;top:15.5%;left:50%;transform:translate(-50%,-50%)}.garden-music-hotspot{z-index:5;aspect-ratio:1;border-radius:50%;width:11%;min-width:44px;min-height:44px;position:absolute;top:max(3.8%,22px);left:min(92%,100% - 22px);transform:translate(-50%,-50%)}.page-garden .motion-choice{left:max(14px,env(safe-area-inset-left));right:auto;top:max(14px,env(safe-area-inset-top));background:#fff5e2bd;border:1px solid #d3b99466;min-height:44px;padding:0 10px;font-size:12px;bottom:auto;transform:none}.garden-motion-setting{color:#86613b;background:#fff5e2;border:1px solid #c8ab7d;border-radius:24px;min-height:44px;padding:0 16px;font-size:14px}@media (orientation:landscape) and (height<=500px){.page-garden .motion-choice{top:max(10px,env(safe-area-inset-top));bottom:auto}.page-garden .credits-entry{bottom:max(10px,env(safe-area-inset-bottom))}}.entrance-portal{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.theme-scene.has-main .theme-video{width:min(84%,330px);height:auto;inset:auto auto 25% 50%;transform:translate(-50%)}.scene-beach.has-main .theme-heading{top:12%}@media (height<=650px){.theme-scene.has-main .theme-video{width:min(88%,300px);bottom:28%}}@media (orientation:landscape) and (height<=500px){.theme-scene.has-main .theme-video{width:90%;bottom:37%}.scene-beach.has-main .theme-heading{top:18%}.scene-beach.has-main .theme-heading>p,.scene-beach.has-main .theme-heading>span{display:none}.scene-beach.has-main .theme-heading h1{font-size:20px}}.garden-real-names,.garden-real-date{z-index:2;color:#7b5939;white-space:nowrap;pointer-events:none;background:radial-gradient(#f9e8d2 0 55%,#f9e8d2e8 70%,#f9e8d200 90%);justify-content:center;align-items:center;margin:0;font-family:Songti SC,SimSun,serif;font-weight:500;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.garden-real-names{letter-spacing:.08em;width:58%;height:3.2%;font-size:clamp(11px,4.1vw,18px);top:11.35%}.garden-real-names i{margin:0 10px;font-family:Georgia,serif;font-size:.8em;font-style:italic}.garden-real-date{letter-spacing:.12em;background:radial-gradient(#f9e7d0 0 52%,#f9e7d0eb 70%,#f9e7d000 90%);width:44%;height:3%;font-family:Georgia,serif;font-size:clamp(9px,3.4vw,14px);top:15.55%}@media (width<=380px){.theme-scene.has-main .scene-film-entry{gap:10px;min-height:66px;padding:10px 12px}.theme-scene.has-main .scene-film-entry strong{white-space:nowrap;font-size:17px}.theme-scene.has-main .scene-film-entry small{white-space:nowrap;font-size:11px}.theme-scene.has-main .scene-film-play{width:34px;height:34px}.page-theme .motion-choice{min-height:36px;padding:0 10px;font-size:11px;bottom:15px;left:50%;right:auto;transform:translate(-50%)}}.invitation-loading{color:#79674d;letter-spacing:.15em;background:#faf7f2;place-items:center;font-family:serif;display:grid;position:absolute;inset:0}.garden-music-invite{z-index:30;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));color:#795733;cursor:pointer;background:#fff7e9ed;border:1px solid #c8aa7e;border-radius:24px;align-items:center;gap:6px;min-height:44px;padding:0 13px;font-family:inherit;font-size:13px;display:flex;position:fixed;box-shadow:0 3px 12px #73512d20}.garden-music-invite svg{width:17px;height:17px}
