.native-mobile-runtime{--device-safe-area-top:env(safe-area-inset-top,0px);--device-safe-area-bottom:env(safe-area-inset-bottom,0px);top:var(--native-viewport-top,0px);left:var(--native-viewport-left,0px);width:var(--native-viewport-width,100%);height:100%;height:var(--native-viewport-height,100dvh);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#a8dcc8;position:fixed;overflow:hidden}.native-safe-area-probe{width:0;height:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden;pointer-events:none;position:absolute}.native-mobile-runtime img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.native-mobile-runtime input,.native-mobile-runtime textarea,.native-mobile-runtime [contenteditable=true]{-webkit-user-select:text;user-select:text;touch-action:manipulation}.native-mobile-runtime button,.native-mobile-runtime a{touch-action:manipulation}.native-mobile-runtime[data-keyboard-visible=true] .landscape-notice{display:none}.luck-game{--ink:#5d2b1c;--hot-pink:#f24876;isolation:isolate;width:100%;height:100%;min-height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background-color:#67c7f5;background-image:url(/assets/wedding-v2/game/game-clean-background.webp),linear-gradient(#64c9f8 0%,#9ee17a 58%,#67bb45 100%);background-position:50%;background-size:cover;outline:none;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;position:relative;overflow:hidden}.luck-game:focus-visible{outline-offset:-5px;outline:3px solid #fffffff2}.luck-game__hud{z-index:20;top:calc(var(--device-safe-area-top,54px) + 6px);background:#fff9e9;border:3px solid #5b3019c7;border-radius:30px 25px 29px 27px/27px 31px 25px 30px;grid-template-columns:minmax(0,1fr) auto max-content;align-items:center;gap:8px;min-height:72px;padding:10px 9px;display:grid;position:absolute;left:13px;right:13px;box-shadow:0 4px #5b301921}.luck-game__hud:after{border-radius:inherit;content:"";pointer-events:none;border:1px dashed #884b252e;position:absolute;inset:4px}.luck-game__score{white-space:nowrap;background:#ffffffb8;border:2px solid #794c2645;border-radius:999px;justify-content:center;align-items:baseline;gap:7px;min-width:0;padding:8px 9px;font-size:16px;font-weight:800;display:flex}.luck-game__score strong{color:var(--hot-pink);font-size:28px;line-height:1}.luck-game__timer{z-index:1;color:var(--hot-pink);font-variant-numeric:tabular-nums;letter-spacing:-.05em;white-space:nowrap;text-shadow:0 2px #fff;font-size:36px;font-weight:950;line-height:1;position:relative}.luck-game__skip{z-index:1;background:var(--hot-pink);color:#fff;white-space:nowrap;word-break:keep-all;border:3px solid #703923;border-radius:18px 22px 17px 21px/21px 17px 22px 18px;width:max-content;min-height:48px;padding:8px 10px;font-size:18px;font-weight:900;line-height:1.12;position:relative;box-shadow:inset 0 -3px #b8184457,0 3px #55241633}.luck-game__skip:active{transform:translateY(2px);box-shadow:inset 0 -1px #b818444d}.luck-game__skip:focus-visible,.luck-game__keyboard-controls button:focus-visible{outline-offset:2px;outline:3px solid #fff}.luck-game__instructions{z-index:18;top:calc(var(--device-safe-area-top,54px) + 96px);text-align:center;white-space:nowrap;background:#fffaedf0;border-radius:50%;width:218px;margin:0;padding:9px 8px 10px;font-size:18px;font-weight:700;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px #5d2b1c1a}.luck-game__instructions:before,.luck-game__instructions:after{color:var(--hot-pink);content:"‹";vertical-align:-2px;font-size:23px}.luck-game__instructions:before{margin-right:7px}.luck-game__instructions:after{margin-left:7px;display:inline-block;transform:scaleX(-1)}.luck-game__arena{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.luck-game__gift-lock{z-index:19;top:calc(var(--device-safe-area-top,54px) + 148px);color:#71321e;white-space:nowrap;pointer-events:none;background:#fff9e9;border-radius:18px;align-items:center;gap:6px;margin:0;padding:4px 12px;font-size:16px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.luck-game__gift-lock img{object-fit:contain;width:26px;height:26px}.luck-game__item{width:var(--item-size);height:var(--item-size);transform:translate3d(var(--game-x), var(--game-y), 0) translate3d(-50%, -50%, 0) rotate(var(--game-spin));filter:drop-shadow(0 4px 2px #4631163d);font-size:calc(var(--item-size) * .84);will-change:transform;place-items:center;line-height:1;display:grid;position:absolute;top:0;left:0}.luck-game__item>img{object-fit:contain;mix-blend-mode:normal;width:100%;height:100%;display:block}.luck-game__item--bomb{filter:drop-shadow(0 4px 2px #2c181d4d)}.luck-game__catch-lane{z-index:9;pointer-events:auto;touch-action:none;cursor:grab;height:27%;position:absolute;bottom:1.5%;left:0;right:0}.luck-game__catch-lane:active{cursor:grabbing}.luck-game__lane-mark{opacity:.52;background:repeating-linear-gradient(90deg,#e8b55d 0 12px,#0000 12px 22px);border-radius:999px;height:15px;position:absolute;bottom:13%;left:8%;right:8%}.luck-game__catcher{z-index:10;width:138px;height:120px;transform:translate3d(var(--game-x), var(--game-y), 0) translate3d(-50%, -50%, 0);transform-origin:bottom;will-change:transform;pointer-events:auto;touch-action:none;cursor:grab;position:absolute;top:0;left:0}.luck-game__catcher:active{cursor:grabbing}.luck-game__catcher-image{object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 3px 1px #502e1533);width:100%;height:100%;display:block}.luck-game.is-good-impact .luck-game__catcher{animation:.25s ease-out luck-game-catch}.luck-game.is-bomb-impact .luck-game__catcher{animation:.33s ease-in-out luck-game-bomb}.luck-game__ready{z-index:40;text-align:center;pointer-events:none;color:#fff;text-shadow:0 4px 0 var(--hot-pink), 2px 0 0 var(--hot-pink), -2px 0 0 var(--hot-pink);background:#41aee521;place-content:center;animation:.8s ease-out both luck-game-ready;display:grid;position:absolute;inset:0}.luck-game__ready span,.luck-game__ready strong{display:block}.luck-game__ready span{font-size:28px;font-weight:900}.luck-game__ready strong{font-size:clamp(44px,13vw,68px);font-weight:950}.luck-game__feedback{z-index:35;white-space:nowrap;background:#fffffff0;border:3px solid;border-radius:999px;padding:11px 20px;font-size:22px;font-weight:950;animation:.5s ease-out both luck-game-feedback;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px #4b2f1921}.luck-game__feedback.is-good{color:#e73f70}.luck-game__feedback.is-bomb{color:#76594c;animation-duration:.35s}.luck-game__keyboard-controls{z-index:50;right:12px;bottom:calc(var(--mobile-safe-area-height,0px) + 12px);pointer-events:none;justify-content:space-between;display:flex;position:absolute;left:12px}.luck-game__keyboard-controls button{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.luck-game__keyboard-controls button:focus-visible{clip:auto;clip-path:none;width:auto;min-width:76px;height:48px;color:var(--ink);pointer-events:auto;background:#fff8e8;border:2px solid #633722;border-radius:999px;padding:0 16px;font-weight:850;position:static;overflow:visible}.luck-game__sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@keyframes luck-game-ready{0%{opacity:0;transform:scale(.85)}28%{opacity:1;transform:scale(1.04)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}@keyframes luck-game-feedback{0%{opacity:0;transform:translate(-50%,-32%)scale(.75)}26%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-92%)scale(1)}}@keyframes luck-game-catch{0%,to{scale:1}48%{scale:1.08 .92}}@keyframes luck-game-bomb{0%,to{translate:0}30%{translate:-4px}65%{translate:4px}}@media (prefers-reduced-motion:reduce){.luck-game__ready,.luck-game__feedback,.luck-game.is-good-impact .luck-game__catcher,.luck-game.is-bomb-impact .luck-game__catcher{animation-duration:1ms;animation-iteration-count:1}.luck-game__item,.luck-game__catcher{transition:none}}.luck-game__ready.is-loading{animation:none}.luck-game__ready button{pointer-events:auto;color:#5c2d1b;background:#fff0cf;border:0;border-radius:16px;min-height:48px;margin-top:16px;padding:10px 24px;font-size:18px}.illustration-stage{top:var(--story-content-top,126px);right:6px;bottom:var(--story-content-bottom,34px);grid-template-rows:minmax(0,.2fr) auto minmax(0,.8fr);justify-items:center;display:grid;position:absolute;left:6px;overflow:hidden}.illustration-window{grid-row:2;position:relative;overflow:hidden}.illustration-group{grid-row:2;position:relative}.illustration-footer{z-index:4;pointer-events:none;place-items:center;height:50px;display:grid;position:absolute;left:0;right:0}.illustration-footer .continue-cue{pointer-events:auto;width:auto;height:50px;position:relative;bottom:auto;left:auto;transform:none}.illustration-canvas{isolation:isolate;flex:none;position:absolute;container-type:inline-size}.illustration-art{z-index:2;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ws-has-continue .illustration-stage{bottom:calc(var(--story-content-bottom,34px) + 56px)}.continue-cue{z-index:4;left:50%;bottom:var(--story-content-bottom,34px);color:#5c2d1b;text-shadow:0 1px 2px #fff8e8,0 0 4px #fff8e8;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:104px;max-width:calc(100% - 32px);min-height:48px;padding:3px 12px;font:600 18px/1.2 Kaiti SC,STKaiti,PingFang SC,sans-serif;display:flex;position:absolute;transform:translate(-50%)}.continue-cue>svg{color:#ec345d;filter:drop-shadow(0 1px 1px #fff8e8);flex:none;animation:1.8s ease-in-out infinite continue-cue-up}.continue-cue:active{opacity:.65}.continue-cue:focus-visible{outline-offset:3px;outline:3px solid #ec345d}.continue-cue--result{width:50%;height:9%;bottom:5%}.ws-result .illustration-art{clip-path:inset(0 0 15%)}.gallery-screen .illustration-art{clip-path:polygon(0 0,100% 0,100% 100%,62% 100%,62% 92.4%,39% 92.4%,39% 100%,0 100%)}@keyframes continue-cue-up{0%,to{opacity:.65;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.continue-cue>svg{animation:none}}.gallery-screen{isolation:isolate}.gallery-screen .gallery-carousel{z-index:1;width:85%;height:60%;position:absolute;top:19%;left:7.5%}.gallery-track{align-items:stretch;height:100%}.gallery-photo{flex:0 0 100%;width:100%;height:100%;margin:0;position:relative;overflow:hidden}.gallery-photo img{-webkit-user-select:none;user-select:none;pointer-events:none;display:block}.gallery-framed-photo{object-fit:cover;object-position:50% 50%;background:#fff9e8;width:100%;height:100%}.gallery-count{z-index:3;color:#fff9e4;text-align:center;pointer-events:none;background:#4d2a14c2;border:1px solid #fff9e4;border-radius:20px;min-width:55px;margin:0;padding:5px 10px;font:700 14px/1.2 Arial Rounded MT Bold,PingFang SC,sans-serif;position:absolute;bottom:22.5%;right:10%}.gallery-photo-arrow{z-index:4;color:#713c20;touch-action:manipulation;background:#fff3d2;border:2px solid #6a371c;border-radius:45% 50% 44% 48%;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:47%;box-shadow:0 3px #56341940}.gallery-photo-prev{left:1%}.gallery-photo-next{right:1%}.gallery-photo-arrow:disabled{opacity:0;pointer-events:none}.gallery-photo-arrow:focus-visible{outline-offset:3px;outline:3px solid #f83b79}.ws-screen,.ws-rsvp{--ws-brown:#5c2d1b;--ws-red:#ec345d;--ws-cream:#fff8e8;--ws-yellow:#ffd85a;color:var(--ws-brown);font-family:Kaiti SC,STKaiti,Songti SC,PingFang SC,sans-serif}.ws-screen{background:#62bff7 url(/assets/wedding-v2/game/game-clean-background.webp) 50%/cover no-repeat;min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.ws-art-screen{isolation:isolate}.ws-screen-art{z-index:0;object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ws-visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.ws-art-hit{z-index:3;touch-action:manipulation;background:0 0;border:0;min-width:48px;min-height:48px;position:absolute}.ws-opening-hit{height:8.5%;animation:1.2s ease-in-out .5s infinite alternate ws-opening-cue;top:72.5%;left:27%;right:25%}.opening-stage{top:var(--story-content-top,120px)}.ws-opening .illustration-art{animation:.5s cubic-bezier(.2,.78,.2,1) both ws-opening-scene}@keyframes ws-opening-scene{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes ws-opening-cue{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(1.025)}}.ws-result-score{z-index:3;text-align:center;background:0 0;place-items:center;width:48%;height:8%;display:grid;position:absolute;top:20.8%;left:50%;transform:translate(-50%)}.ws-result-score span{color:var(--ws-brown);font-size:clamp(22px,6.4vw,30px);font-weight:900;line-height:1}.ws-result-score strong{color:var(--ws-red);letter-spacing:.02em;margin:0;font-family:Arial Rounded MT Bold,PingFang SC,sans-serif;font-size:18cqw;font-weight:900;line-height:.92}.ws-info-map-hit{width:90%;height:49%;top:42%;left:5%}.info-stage .illustration-art{clip-path:polygon(0 0,100% 0,100% 100%,73% 100%,73% 86.72%,27% 86.72%,27% 100%,0 100%)}.ws-info-guide-caption{z-index:4;clip-path:inset(86.72% 27% 8.5%);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ws-info-map-hit:focus-visible{outline-offset:-3px;border-radius:18px;outline:3px solid #ec345d}.bottom-sheet:has(.wedding-hotel-details){color:#60331f;background:#fffaf1;border:1px solid #6f44291a;border-bottom:0;border-radius:28px 28px 0 0;height:min(660px,100% - 88px);font-family:PingFang SC,Microsoft YaHei,sans-serif;box-shadow:0 -12px 40px #3a231829}.bottom-sheet:has(.wedding-hotel-details) .sheet-handle-zone{flex-shrink:0;height:26px}.bottom-sheet:has(.wedding-hotel-details) .sheet-handle{background:#dbcbb9;width:34px;height:4px}.bottom-sheet:has(.wedding-hotel-details) .sheet-header{text-align:center;flex-shrink:0;gap:5px;padding:4px 20px 18px}.bottom-sheet:has(.wedding-hotel-details) .sheet-title{-webkit-user-select:text;user-select:text;font-size:23px;font-weight:700;line-height:1.4}.bottom-sheet:has(.wedding-hotel-details) .sheet-description{color:#af7357;letter-spacing:.1em;font-size:15px;line-height:1.5}.bottom-sheet:has(.wedding-hotel-details) .sheet-content{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.wedding-hotel-details{flex-direction:column;flex:1;min-height:0;display:flex}.wedding-hotel-details .hotel-guide-scroll{flex:1;min-height:0;position:relative;inset:auto}.hotel-guide-scroll .mobile-scroll-content{padding:0 24px 20px}.hotel-guide-section+.hotel-guide-section{border-top:1px dashed #e6d5bb;margin-top:21px;padding-top:21px}.hotel-guide-section h3{color:#60331f;align-items:center;gap:9px;margin:0 0 11px;font-size:18px;line-height:1.5;display:flex}.hotel-guide-section h3>span{color:#95632d;background:#f9e7b2;border-radius:8px 10px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:grid}.hotel-guide-section p{color:#78543b;margin:0;font-size:18px;line-height:1.7}.hotel-guide-section strong{color:#60331f;font-weight:600}.hotel-guide-address{color:#78543b;-webkit-user-select:text;user-select:text;border-left:3px solid #e8be7c;margin:12px 0 0;padding-left:13px;font-size:18px;font-style:normal;line-height:1.6}.hotel-guide-address>span{color:#a18266;margin-bottom:3px;font-size:13px;line-height:1.5;display:block}.hotel-guide-hall{letter-spacing:.04em;margin-top:6px;display:block}.hotel-guide-section .hotel-guide-origin{color:#917157;margin-bottom:14px;font-size:16px}.hotel-guide-route{color:#78543b;margin:0;padding:0 0 0 10px;font-size:18px;line-height:1.65;list-style:none}.hotel-guide-route li{border-left:1px solid #ddc8a7;padding:0 0 15px 20px;position:relative}.hotel-guide-route li:last-child{border-color:#0000;padding-bottom:0}.hotel-guide-route li:before{content:"";background:#be9764;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:-4px}.hotel-guide-route small{color:#a18266;margin-top:2px;font-size:14px;line-height:1.5;display:block}.hotel-guide-actions{padding:14px 20px max(10px, var(--device-safe-area-bottom,0px));background:#fffaf1;border-top:1px solid #f0e4d1;flex-shrink:0}.ws-hotel-close{color:#8a705c;touch-action:manipulation;background:0 0;border:0;width:100%;min-height:48px;font:500 17px/1.4 PingFang SC,sans-serif}.ws-hotel-close:focus-visible{outline-offset:-3px;border-radius:13px;outline:3px solid #ec345d}.ws-hotel-copy{color:#704725;touch-action:manipulation;background:#f6e6c3;border:1px solid #e2c797;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;padding:10px 12px;font:600 18px/1.4 PingFang SC,Microsoft YaHei,sans-serif;transition:color .18s,background-color .18s;display:flex}.ws-hotel-copy svg{flex:none}.ws-hotel-copy[data-copy-state=copied]{color:#fff;background:#2e7d53;border-color:#2e7d53}.ws-hotel-copy:disabled{opacity:.7}.ws-hotel-copy:active{transform:translateY(1px)}.ws-hotel-copy:focus-visible{outline-offset:3px;outline:3px solid #ec345d}@media (prefers-reduced-motion:reduce){.ws-hotel-copy{transition:none}}.ws-result-gift{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:50%;height:15%;font-family:PingFang SC,sans-serif;display:flex;position:absolute;top:39.5%;left:25%}.ws-result-gift img{object-fit:contain;width:60%;height:73%}.ws-result-gift strong{font-size:6cqw;line-height:1.2}.ws-result-gift p{font-size:4.8cqw;font-weight:700;line-height:1.5}.ws-result-pickup{z-index:3;text-align:center;color:#65331e;width:64%;margin:0;font:700 3.8cqw/1.4 PingFang SC,sans-serif;position:absolute;top:55.5%;left:18%}.ws-result-replay{z-index:4;color:#673119;touch-action:manipulation;background:#fff0cf;border:2px solid #8a4828;border-radius:18px;width:34%;min-height:48px;padding:5px 6px;font:700 4.8cqw/1.2 PingFang SC,sans-serif;position:absolute;top:58.5%;left:33%}.ws-result-replay:focus-visible{outline-offset:2px;outline:3px solid #ec345d}.timeline-stage .illustration-art{opacity:0}.ws-timeline[data-visible=true] .illustration-art{animation:.65s ease-out forwards ws-timeline-reveal}.ws-timeline[data-seen=true] .illustration-art{clip-path:none;opacity:1;animation:none}@keyframes ws-timeline-reveal{0%{clip-path:inset(0 0 100%);opacity:.5}to{clip-path:inset(0);opacity:1}}@keyframes ws-fade-in{to{opacity:1;transform:translate(0)}}.ws-rsvp-scroll{background:#62bff7 url(/assets/wedding-v2/game/game-clean-background.webp) 50%/cover no-repeat}.ws-rsvp-scroll .mobile-scroll-content{min-height:100%}.ws-rsvp{min-height:100%;padding:var(--story-content-top,120px) 16px var(--story-content-bottom,34px);background:0 0;position:relative;overflow:hidden}.ws-rsvp-cast{width:100%;height:clamp(100px, calc(100cqh - var(--story-content-top) - var(--story-content-bottom) - 454px), 180px);object-fit:contain;-webkit-user-select:none;user-select:none;margin-top:16px;display:block}.ws-rsvp-form{z-index:2;background:#fffaf0;border:3px solid #5c2d1bc7;border-radius:22px;gap:12px;width:100%;margin:0 auto;padding:16px 12px;display:grid;position:relative;box-shadow:0 6px #5c2d1b29}.ws-rsvp-heading{text-align:center}.ws-rsvp-heading h1{color:var(--ws-brown);margin:0;font-size:29px;font-weight:900;line-height:1.05}.ws-rsvp-heading p{color:var(--ws-brown);margin:8px 0 0;font-size:18px;font-weight:700}.ws-field{background:#fffdf8;border:2px solid #5c2d1bc2;border-radius:16px;grid-template-columns:minmax(96px,36%) minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:7px 9px;display:grid}.ws-field>span{color:var(--ws-brown);text-align:center;font-size:19px;font-weight:900}.ws-field input{color:#3f2119;background:#fff;border:2px solid #5c2d1b73;border-radius:13px;outline:none;width:100%;min-width:0;min-height:50px;padding:0 12px;font-family:PingFang SC,sans-serif;font-size:18px;font-weight:600}.ws-field input::placeholder{color:#9f9690;opacity:1}.ws-field input:focus{border-color:var(--ws-red)}.ws-field[data-invalid=true]{background:#fff0f2;border-color:#b51f42}.ws-field input[aria-invalid=true]{border-color:#b51f42;box-shadow:0 0 0 2px #b51f421f}.ws-guest-stepper{grid-template-columns:50px minmax(44px,1fr) 50px;align-items:center;gap:6px;display:grid}.ws-guest-stepper button{background:var(--ws-red);color:#fff;touch-action:manipulation;border:0;border-radius:50%;place-items:center;width:50px;height:50px;display:grid}.ws-guest-stepper button:disabled{opacity:.4}.ws-guest-stepper input{text-align:center;padding:0}.ws-form-status{text-align:center;border-radius:12px;margin:0;padding:10px 12px;font-family:PingFang SC,sans-serif;font-size:18px;font-weight:700;line-height:1.45}.ws-form-status-submitting{color:#65431a;background:#fff4c7}.ws-form-status-error{color:#8b1730;background:#ffe1e7}.ws-form-status-offline{color:#684516;background:#fff0c9}.ws-submit{background:var(--ws-red);color:#fff;letter-spacing:.04em;touch-action:manipulation;border:3px solid #fff;border-radius:999px;width:100%;min-height:56px;font-size:27px;font-weight:900;box-shadow:0 4px #9f1d3e}.ws-submit:disabled{opacity:.72}.ws-privacy{color:var(--ws-brown);text-align:center;margin:auto 0 0;font-size:18px;font-weight:700}@container (width<=360px){.ws-field{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px}.ws-field>span{text-align:left;font-size:18px}}@container (height<=760px){.ws-rsvp{padding-top:var(--story-content-top,120px)}.ws-rsvp-form{gap:10px;padding-top:14px}.ws-rsvp-heading h1{font-size:27px}.ws-rsvp-heading p,.ws-field>span{font-size:18px}}@media (prefers-reduced-motion:reduce){.ws-opening .illustration-art,.ws-opening-hit,.timeline-stage .illustration-art{clip-path:none!important;opacity:1!important;animation:none!important;transform:none!important}}.invitation-app{--story-toolbar-top:calc(var(--device-safe-area-top,54px) + 12px);--story-content-top:calc(var(--story-toolbar-top) + 54px);--story-content-bottom:max(24px, calc(var(--device-safe-area-bottom,34px) + 12px));color:#5c2d1b;isolation:isolate;background:#65c5f5;font-family:Kaiti SC,STKaiti,PingFang SC,Microsoft YaHei,sans-serif;position:absolute;inset:0;overflow:hidden;container-type:size}.mobile-app-viewport[data-platform=android] .invitation-app{--story-content-bottom:24px}.keyboard-dock[data-visible=false]{visibility:hidden;opacity:0}.keyboard-dock[data-visible=true]{visibility:visible;opacity:1}.story-pane{z-index:1;touch-action:none;position:absolute;inset:0;overflow:hidden}.story-pane[data-screen=game],.story-pane[data-screen=gallery]{touch-action:none}.music-toggle{z-index:70;top:var(--story-toolbar-top);color:#fff;touch-action:manipulation;background:#ef3965f5;border:3px solid #fffffffa;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;right:14px;box-shadow:0 4px #5c2d1b47}.story-back{z-index:70;top:var(--story-toolbar-top);color:#5c2d1b;white-space:nowrap;touch-action:manipulation;background:#fff5de;border:2px solid #835335;border-radius:24px;justify-content:center;align-items:center;gap:3px;min-width:84px;min-height:48px;padding:0 13px 0 9px;font:700 18px/1 PingFang SC,sans-serif;transition:transform .12s,box-shadow .12s,background-color .12s;display:flex;position:absolute;left:14px;box-shadow:inset 0 0 0 2px #fffdf5,0 3px #5c2d1b33}.story-back svg{color:#e53663;flex:none}.story-back:active{background:#ffedc6;transform:translateY(2px);box-shadow:inset 0 0 0 2px #fffdf5,0 1px #5c2d1b33}.wedding-map-loading{z-index:80;left:20px;right:20px;bottom:calc(var(--story-content-bottom) + 20px);color:#60331f;text-align:center;background:#fff5e7;border-radius:16px;margin:0;padding:16px;font:18px/1.5 PingFang SC,sans-serif;position:absolute}.story-back:focus-visible{outline-offset:2px;outline:3px solid #ec345d}.music-toggle[data-playing=true] svg{animation:1.6s ease-in-out infinite music-pulse}.music-toggle[data-screen=game]{top:calc(var(--device-safe-area-top,54px) + 96px)}@keyframes music-pulse{50%{transform:scale(1.12)}}.landscape-notice{z-index:200;color:#5c2d1b;text-align:center;background:#66c5f3;place-content:center;gap:14px;padding:30px;font-size:24px;display:none;position:absolute;inset:0}.landscape-notice span{color:#ee3e69;font-size:56px;line-height:1}@media (orientation:landscape) and (height<=520px){.landscape-notice{display:grid}}@media (prefers-reduced-motion:reduce){.story-pane{transform:none!important}.music-toggle svg{animation:none!important}.story-back{transition:none}}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.mobile-carousel{overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;display:block;position:relative;overflow:auto}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel{touch-action:pan-y;overflow:auto hidden}.mobile-carousel[data-dragging=true]{cursor:none}.mobile-carousel-content{width:max-content;min-width:100%;transform:translateX(var(--mobile-carousel-overdrag));will-change:transform;display:flex}.mobile-carousel-scrollbar{z-index:4;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{background:#00000059;border-radius:999px;height:3px;position:absolute;bottom:4px;right:4px}body{min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.phone-stage{place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative}.device-menu-bar{z-index:100;border-radius:12px;padding:3px;position:absolute;top:18px;right:18px}.device-picker-trigger{color:#151515;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:34px;padding:0 10px 0 12px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-trigger:hover,.device-picker-trigger[data-state=open]{background:#0000000e}.device-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #000000b8}.device-picker-menu{z-index:200;min-width:168px;transform-origin:var(--radix-dropdown-menu-content-transform-origin);background:#fffffffa;border-radius:12px;padding:3px;animation:.12s ease-out device-menu-in;box-shadow:0 0 1px #0000000f,0 0 0 1px #00000014,0 4px 4px #0000000d}.device-picker-item{color:#181818;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 9px 0 10px;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-item[data-highlighted]{background:#f0f0f0}.device-picker-item[data-state=checked]{font-weight:600}.device-picker-check{color:#181818;place-items:center;display:grid}@keyframes device-menu-in{0%{opacity:0;transform:scale(.98)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.phone-scale-box{position:relative}.phone-device{transform-origin:0 0;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.phone-bezel{object-fit:contain;z-index:2;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{cursor:none;z-index:1;-webkit-user-select:none;user-select:none;background:#fff;border-radius:42px;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.device-camera{z-index:75;pointer-events:none;background:#050505;border-radius:50%;display:block;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.device-screen,.device-screen *{cursor:none!important}.device-screen img,.keyboard-asset{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.device-screen input,.device-screen textarea,.device-screen select,.device-screen option,.device-screen [contenteditable=true]{-webkit-user-select:auto;user-select:auto}.device-screen:active,.device-screen:active *,.device-screen input,.device-screen textarea,.device-screen button,.device-screen a,.device-screen [role=button]{cursor:none!important}.device-screen[data-cursor-debug=true],.device-screen[data-cursor-debug=true] *{cursor:default!important}.device-screen :focus,.device-screen :focus-visible{box-shadow:none!important;outline:0!important}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.mobile-app-viewport[data-platform=android][data-keyboard-visible=false]{bottom:var(--device-safe-area-bottom,48px)}.flow-stack{--flow-header-height:0px;--flow-header-content-height:0px;--flow-header-safe-area:0px;--flow-footer-height:0px;--keyboard-height:0px;touch-action:pan-y;background:0 0;overflow:hidden}.flow-fixed-header{z-index:12;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.flow-fixed-footer{z-index:12;right:0;bottom:var(--keyboard-height);height:var(--flow-footer-height);background:0 0;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{will-change:transform;background:0 0;overflow:hidden}.mobile-page{--mobile-safe-area-height:var(--device-safe-area-bottom,34px);--keyboard-height:0px;position:absolute;inset:0}.mobile-page[data-keyboard-visible=true],.mobile-app-viewport[data-platform=android] .mobile-page{--mobile-safe-area-height:0px}.mobile-scroll{top:0;right:0;bottom:var(--keyboard-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;overflow:hidden auto}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll[data-dragging=true]{cursor:none}.mobile-cursor{z-index:80;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle at 50% 44%,#ffffffb3 0 34%,#ffffff8a 58%,#eeeeee7a 100%);border:.5px solid #0000001f;border-radius:999px;width:48px;height:48px;transition:opacity 90ms,background 80ms,box-shadow 80ms;position:absolute;top:0;left:0;box-shadow:inset 0 1px 2px #fff9,inset 0 -5px 10px #0000000d,inset 0 0 0 1px #00000006}.mobile-cursor:before{content:"";pointer-events:none;background:linear-gradient(#ffffff61,#fff0);border-radius:999px;width:32px;height:17px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.mobile-cursor:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 1px 0 3px #ffffff47,inset -1px 0 3px #00000005}.mobile-cursor-hotspot{pointer-events:none;background:#ffffffd1;border:1px solid #007afff2;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffbf,0 0 0 3px #007aff29}.mobile-cursor-hotspot:before,.mobile-cursor-hotspot:after{content:"";background:#007afff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-cursor-hotspot:before{width:17px;height:1px}.mobile-cursor-hotspot:after{width:1px;height:17px}.mobile-cursor[data-visible=true]{opacity:1}.mobile-cursor[data-active=true]{background:radial-gradient(circle at 50% 55%,#e8e8e894 0 30%,#f8f8f880 62%,#ffffffad 100%);box-shadow:inset 0 3px 7px #00000014,inset 0 -4px 8px #ffffff57,inset 0 0 0 1px #00000008}.mobile-cursor[data-active=true]:before{background:linear-gradient(#0000000e,#0000)}.mobile-cursor[data-active=true]:after{box-shadow:inset 0 5px 9px #0000000b,inset 0 -3px 7px #ffffff47}.mobile-scroll-content{will-change:transform;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:0;display:grid}.app-screen{background:#fff}.mobile-scrollbar{z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);opacity:0;pointer-events:none;width:4px;transition:bottom .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute}.mobile-page[data-keyboard-dragging=true] .mobile-scroll,.mobile-page[data-keyboard-dragging=true] .mobile-scrollbar,.flow-stack[data-keyboard-dragging=true] .flow-fixed-footer{transition:none}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{background:#00000047;border-radius:999px;width:4px;min-height:36px;transition:background .12s;box-shadow:0 0 0 1px #ffffff2e}.status-bar{z-index:72;color:#050505;pointer-events:none;background:0 0;grid-template-columns:1fr auto;align-items:center;height:54px;padding:10px 34px 0 36px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;display:grid;position:absolute;top:0;left:0;right:0}.device-screen[data-device=pixel-10] .status-bar{align-items:start;height:auto;padding:32px 32px 0;font-family:Roboto,Arial,sans-serif}.status-time{text-align:center;letter-spacing:0;justify-self:start;min-width:58px;font-size:15px;font-weight:600;line-height:1}.status-indicators{justify-self:end;align-items:center;display:flex}.status-indicator-svg{display:block}.status-indicator-svg[data-platform=ios]{width:79px;height:13px}.status-indicator-svg[data-platform=android]{width:50px;height:14px}.device-screen[data-device=pixel-10] .status-time{font-weight:500;transform:translateY(2px)}.home-indicator-svg{z-index:70;width:100%;height:var(--device-safe-area-bottom,34px);pointer-events:none;display:block;position:absolute;bottom:0;left:0;right:0}.android-navigation-bar{z-index:70;width:428px;height:var(--device-safe-area-bottom,48px);pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;bottom:-1px;left:-1px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{gap:8px;display:grid}.mobile-field input{color:#151515;background:#fff;border:1px solid #0000001a;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}.mobile-field input:focus{box-shadow:none;border-color:#00000029}.device-screen .mobile-field input:focus,.device-screen .mobile-field input:focus-visible{border-color:#0000001f;box-shadow:none!important;outline:0!important}.sheet-overlay{z-index:20;background:#00000057;position:absolute;inset:0}.bottom-sheet{z-index:21;touch-action:none;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;min-height:260px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -16px 48px #0003}.sheet-handle-zone{touch-action:none;place-items:center;height:30px;display:grid}.sheet-handle{background:#c9c9c4;border-radius:999px;width:42px;height:5px}.sheet-header{gap:4px;padding:0 18px 14px;display:grid}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{color:#737373;margin:0;font-size:13px;line-height:1.35}.sheet-content{padding:0 18px 24px;overflow:auto}.keyboard-dock{z-index:30;height:339px;box-shadow:none;pointer-events:none;will-change:transform;background:#d8d9de;border-radius:32px 32px 0 0;padding:0;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.keyboard-dock[data-platform=android]{background:#f3f2f6;border-radius:0;box-shadow:0 -1px 2px #00000014}.keyboard-dock[data-visible=true]{pointer-events:auto}.keyboard-asset{z-index:1;border-radius:inherit;object-fit:cover;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:relative}.keyboard-dock[data-platform=android] .keyboard-asset{object-fit:fill;border-radius:0}
