.wedding-site .fortune-section{background:linear-gradient(#f8eee1,#f1dfd5 65%,#f5e8dc);border-top:1px solid #dfc9b955;border-bottom:1px solid #d8bdaa55}.wedding-site .fortune-section .section-heading h2{color:#945052}.wedding-site .memory-section{background:radial-gradient(at 12% 12%,#f6efd799,#0000 55%),linear-gradient(#e0ece7,#e5eee3);border-bottom:1px solid #b9caba66}.wedding-site .memory-section .section-heading h2{color:#3b6253}.wedding-site .mini-game{--mini-red:#a84348;--mini-gold:#b38d4d;--mini-cream:#fff8e7;min-width:0;position:relative}.wedding-site .mini-game button{-webkit-appearance:none;appearance:none}.wedding-site .mini-game button:focus-visible{outline-offset:4px;outline:3px solid #aa7940}.wedding-site .mini-game-action{color:#fff6dd;background:linear-gradient(135deg,#567454,#345b46);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:46px;padding:10px 19px;font-size:14px;line-height:1.5;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 3px #294c39;border:1px solid #c6aa77!important}.wedding-site .mini-game-action:hover{transform:translateY(-2px)}.wedding-site .mini-game-action:active{transform:translateY(2px);box-shadow:0 1px #294c39}.wedding-site .mini-game-footnote{color:#796f5e;text-align:center;margin-top:15px;font-size:12px;line-height:1.8}.wedding-site .couple-surprise{isolation:isolate;align-self:center;width:max-content;max-width:none}.wedding-site button.couple-surprise-trigger{color:inherit;line-height:inherit;background:0 0;border:0;border-radius:18px;margin:0;padding:0;display:block}.wedding-site button.couple-surprise-trigger:focus-visible{outline-offset:-6px;outline:2px dashed #ffe1a3}.wedding-site .couple-click-hint{z-index:4;color:#ffedca;white-space:nowrap;pointer-events:none;text-shadow:none;background:#622437b8;border:1px solid #f6d79a66;border-radius:18px;justify-content:center;align-items:center;gap:5px;padding:4px 10px;font-size:11px;line-height:1.6;display:inline-flex;position:absolute;bottom:9px;left:50%;transform:translate(-50%)}.wedding-site .couple-surprise-live{z-index:5;pointer-events:none;justify-content:center;display:flex;position:absolute;top:12px;left:0;right:0}.wedding-site .couple-sweet-bubble{color:#8e3941;text-align:center;background:#fff5db;border:1px solid #ebc987;border-radius:14px;max-width:min(88%,270px);padding:11px 15px;font-size:13px;line-height:1.65;animation:.35s ease-out both couple-bubble-arrive;display:block;position:relative;box-shadow:0 5px 18px #43132826}.wedding-site .couple-sweet-bubble:after{content:"";background:#fff5db;border-bottom:1px solid #ebc987;border-right:1px solid #ebc987;width:10px;height:10px;position:absolute;bottom:-6px;left:calc(50% - 5px);transform:rotate(45deg)}.wedding-site .couple-love-burst{z-index:4;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.wedding-site .couple-love-burst>span{--burst-x:calc((var(--burst-index) - 3) * 34px);color:#f4bea9;animation:1.2s ease-out both couple-love-burst;animation-delay:calc(var(--burst-index) * 35ms);position:absolute;top:48%;left:calc(50% - 8px)}.wedding-site .couple-love-burst>span:nth-child(2n){color:#ffe3a2}@keyframes couple-bubble-arrive{0%{opacity:0;transform:translateY(8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes couple-love-burst{0%{opacity:0;transform:translateY(20px)scale(.5)rotate(-15deg)}18%{opacity:1}to{opacity:0;transform:translate(var(--burst-x), -115px) scale(1.2) rotate(12deg)}}.wedding-site .fortune-game{background:#fff8e7;border:2px solid #c7a76b;border-radius:16px;grid-template-columns:1fr 1fr;max-width:780px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 5px #d7c49c,0 14px 28px #98745010}.wedding-site .fortune-stage{color:#fff0c7;text-align:center;background:radial-gradient(at 50% 32%,#c66863,#0000 68%),linear-gradient(145deg,#a4464a,#77323e);flex-direction:column;justify-content:center;align-items:center;padding:31px 18px 28px;display:flex;position:relative}.wedding-site .fortune-stage:before{content:"";pointer-events:none;border:1px solid #f6dca152;border-radius:10px;position:absolute;top:9px;bottom:9px;left:9px;right:9px}.wedding-site .fortune-kicker{letter-spacing:2px;color:#ffdea4;font-size:10px;position:relative}.wedding-site .fortune-star-row{color:#f6d08a;justify-content:center;align-items:center;gap:6px;margin-top:13px;display:flex;position:relative}.wedding-site button.fortune-bag-trigger{color:#fff0c7;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:44px;min-height:44px;padding:7px 0;display:flex;position:relative}.wedding-site button.fortune-bag-trigger:focus-visible{outline-color:#ffe2a3}.wedding-site .fortune-bag-visual{justify-content:center;align-items:center;width:min(100%,240px);height:205px;display:flex;position:relative}.wedding-site .fortune-bag-visual>img{z-index:1;object-fit:contain;filter:drop-shadow(0 9px 8px #56203345);width:205px;height:205px;position:relative}.wedding-site .lucky-bag-svg{z-index:1;filter:drop-shadow(0 9px 8px #56203345);width:174px;height:185px;position:relative}.wedding-site .fortune-bag-halo{background:radial-gradient(circle,#e8b85e38,#e8b85e08 60%,#0000 70%);border:1px dashed #f6da935e;border-radius:50%;position:absolute;top:20px;bottom:20px;left:20px;right:20px}.wedding-site .fortune-bag-spark{z-index:2;color:#ffdfa0;text-shadow:0 0 12px #e4ab67;position:absolute}.wedding-site .fortune-bag-spark.spark-left{font-size:23px;top:47%;left:8px}.wedding-site .fortune-bag-spark.spark-right{font-size:28px;top:18%;right:7px}.wedding-site .fortune-bag-trigger:hover .fortune-bag-visual{transform:translateY(-3px)}.wedding-site .fortune-bag-opened{animation:.5s ease-out both fortune-bag-pop}.wedding-site .fortune-bag-callout{justify-content:center;align-items:center;gap:7px;font-size:14px;line-height:1.7;display:inline-flex}.wedding-site .fortune-stage-note{color:#efd6ae;margin-top:8px;font-size:12px}.wedding-site .fortune-paper{text-align:center;background:linear-gradient(135deg,#fff9e9,#f7ecd0);flex-direction:column;justify-content:center;align-items:center;padding:28px 23px 22px;display:flex;position:relative}.wedding-site .fortune-paper:before{content:"";pointer-events:none;border:1px solid #d6bd8e88;border-radius:8px;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.wedding-site .fortune-paper-heading{color:#9c4c4a;letter-spacing:1px;justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex;position:relative}.wedding-site .fortune-result{justify-content:center;align-items:center;width:100%;min-height:216px;padding:22px 0 13px;display:flex;position:relative}.wedding-site .fortune-result h3{color:#983d44;letter-spacing:2px;font-size:28px;font-weight:400;line-height:1.5}.wedding-site .fortune-card-number{color:#826540;letter-spacing:.6px;margin-bottom:8px;font-size:11px;display:block}.wedding-site .fortune-result-stars{color:#b58d45;justify-content:center;align-items:center;gap:8px;margin:10px 0 13px;display:flex}.wedding-site .fortune-result p{color:#74644c;font-size:14px;line-height:1.85}.wedding-site .fortune-result p.fortune-wish{color:#925452;margin-top:10px;font-size:13px}.wedding-site .fortune-result-waiting>svg{color:#b89963;margin-bottom:12px}.wedding-site .fortune-result-waiting h3{margin-bottom:13px;font-size:23px}.wedding-site .fortune-result-reveal{animation:.4s ease-out both fortune-result-reveal}.wedding-site .fortune-couple{color:#8b6944;overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:1.8}.wedding-site .fortune-couple>span{color:#bb7871}.wedding-site .fortune-redraw{color:#fff3d8;background:linear-gradient(135deg,#bd6260,#a0474e);margin-top:15px;position:relative;box-shadow:0 3px #81343e;border-color:#d4ae72!important}.wedding-site .fortune-redraw:active{box-shadow:0 1px #81343e}.wedding-site .fortune-paper .mini-game-footnote{max-width:230px;font-size:11px;position:relative}@keyframes fortune-bag-pop{0%{transform:scale(1)}30%{transform:scale(.94)rotate(-4deg)}65%{transform:scale(1.07)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes fortune-result-reveal{0%{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wedding-site .love-memory-game{background:linear-gradient(145deg,#f5f5e5,#e5edda);border:2px solid #b2bf95;border-top:5px solid #6b8968;border-radius:15px;max-width:670px;margin:0 auto;padding:25px 25px 22px;box-shadow:0 5px #c7d2b4,0 12px 28px #4f695210}.wedding-site .memory-topline{color:#47634b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.wedding-site .memory-topline>span:first-child{align-items:center;gap:8px;display:inline-flex}.wedding-site .memory-topline>span:first-child>svg{color:#b97970}.wedding-site .memory-progress{color:#756541;white-space:nowrap;background:#fbf6df;border:1px solid #bbbd95;border-radius:20px;padding:3px 10px;font-size:12px}.wedding-site .memory-instructions{color:#6c7c62;margin-top:12px;font-size:13px;line-height:1.9}.wedding-site .memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:560px;margin:20px auto 0;display:grid}.wedding-site button.memory-card{aspect-ratio:4/5;perspective:850px;color:#42654c;background:0 0;border-radius:10px;min-width:44px;min-height:44px;padding:0;display:block;position:relative}.wedding-site button.memory-card[aria-disabled=true]{opacity:1;cursor:default}.wedding-site .memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;pointer-events:none;transition:transform .38s cubic-bezier(.2,.7,.2,1);display:block;position:relative}.wedding-site .memory-card.is-open .memory-card-inner{transform:rotateY(180deg)}.wedding-site .memory-card-back,.wedding-site .memory-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:2px solid #c3ac79;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.wedding-site .memory-card-back{color:#f5dfab;background:repeating-linear-gradient(60deg,#ffffff03 0 12px,#e9d7a20a 12px 13px),linear-gradient(145deg,#557a60,#355b46);box-shadow:0 3px #284c39}.wedding-site .memory-card-back:before{content:"";border:1px solid #e6cd8d66;border-radius:5px;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.wedding-site .memory-back-stars{letter-spacing:2px;font-size:12px;line-height:1}.wedding-site .memory-back-seal{color:#45634b;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,#e3c787,#be9f60);place-items:center;width:62px;height:68px;margin:15px 0 11px;display:grid}.wedding-site .memory-card-number{letter-spacing:2px;opacity:.8;font-size:12px;line-height:1}.wedding-site .memory-card-front{background:linear-gradient(145deg,#fff9e7,#f0e7ca);transform:rotateY(180deg);box-shadow:0 3px #d0bd93}.wedding-site .memory-motif{width:75%;max-width:126px;height:auto}.wedding-site .memory-symbol-label{color:#76633f;margin-top:5px;font-size:14px;line-height:1.5}.wedding-site .memory-matched-mark{color:#477257;margin-top:4px;font-size:11px;line-height:1.6;display:block}.wedding-site .memory-card.is-matched .memory-card-front{background:linear-gradient(145deg,#f5fae7,#e0ebcc);border-color:#8dba8d;box-shadow:0 3px #acc597}.wedding-site .memory-card:not([aria-disabled=true]):not(.is-open):hover .memory-card-back{background-color:#557a60;border-color:#f6daa0}.wedding-site .memory-status{color:#577454;text-align:center;justify-content:center;align-items:center;min-height:64px;padding:16px 0 8px;font-size:13px;line-height:1.85;display:flex}.wedding-site .memory-bottomline{border-top:1px dashed #b4bf96;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:13px;padding-top:10px;display:flex}.wedding-site .memory-bottomline>span{color:#6d795f;font-size:12px}.wedding-site .memory-reset{padding:9px 16px}.wedding-site .memory-completion{background:linear-gradient(135deg,#fff5d9,#f8e6c8);border:1px solid #d1b57b;border-radius:10px;width:100%;margin:4px 0 10px;padding:18px 13px;animation:.45s ease-out both fortune-result-reveal}.wedding-site .memory-completion-stars{color:#ba8571;letter-spacing:8px;margin-bottom:7px;font-size:22px;display:block}.wedding-site .memory-completion h3{color:#9c5751;letter-spacing:1px;font-size:23px;font-weight:400}.wedding-site .memory-completion p{color:#886747;overflow-wrap:anywhere;margin-top:9px;font-size:13px}@media (max-width:620px){.wedding-site .fortune-game{grid-template-columns:minmax(0,1fr);max-width:440px}.wedding-site .fortune-stage{padding:25px 19px 23px}.wedding-site .fortune-bag-visual{height:188px}.wedding-site .fortune-bag-visual>img{width:190px;height:188px}.wedding-site .fortune-paper{border-top:1px dashed #c59d67;padding:28px 25px 25px}.wedding-site .fortune-result{min-height:205px}.wedding-site .fortune-result-waiting h3{font-size:25px}.wedding-site .love-memory-game{padding:22px 17px 21px}.wedding-site .memory-grid{gap:10px;margin-top:17px}.wedding-site .memory-back-seal{width:49px;height:54px;margin:11px 0 9px}.wedding-site .memory-back-seal svg{width:23px;height:23px}.wedding-site .memory-back-stars{letter-spacing:1px;font-size:10px}.wedding-site .memory-symbol-label{margin-top:2px;font-size:12px}.wedding-site .memory-matched-mark{margin-top:2px;font-size:10px}.wedding-site .memory-completion h3{font-size:22px}}@media (max-width:360px){.wedding-site .love-memory-game{padding:21px 13px 19px}.wedding-site .memory-topline{gap:7px;font-size:13px}.wedding-site .memory-progress{padding:3px 7px}.wedding-site .memory-grid{gap:8px}.wedding-site .memory-back-seal{width:38px;height:42px;margin:8px 0 7px}.wedding-site .memory-card-back:before{top:4px;bottom:4px;left:4px;right:4px}.wedding-site .memory-card-front,.wedding-site .memory-card-back{border-width:1px;border-radius:8px}.wedding-site .memory-motif{width:71%}.wedding-site .memory-symbol-label{font-size:11px}.wedding-site .memory-matched-mark{font-size:9px}.wedding-site .fortune-paper{padding-left:20px;padding-right:20px}.wedding-site .fortune-bag-callout{font-size:13px}.wedding-site .couple-click-hint{font-size:10px}}@media (prefers-reduced-motion:reduce){.wedding-site .mini-game *,.wedding-site .mini-game :before,.wedding-site .mini-game :after{transition:none!important;animation:none!important}.wedding-site .couple-love-burst{display:none}.wedding-site .mini-game-action:hover,.wedding-site .mini-game-action:active,.wedding-site .fortune-bag-trigger:hover .fortune-bag-visual{transform:none}}.wedding-site .game-theme-strip{--theme-base:#eef1df;--theme-light:#fff8e4;--theme-accent:#739b85;--theme-border:#cbb67e;--theme-ink:#496650;--theme-muted:#7f8b70;z-index:1;border:1px solid var(--theme-border);border-bottom:4px solid var(--theme-border);background:linear-gradient(125deg, var(--theme-light), var(--theme-base));width:min(100%,620px);min-height:132px;color:var(--theme-ink);text-align:left;isolation:isolate;border-radius:19px 6px;align-items:center;gap:16px;margin:0 auto 34px;padding:13px 21px 13px 13px;display:flex;position:relative;box-shadow:0 7px 18px #65754e0a,inset 0 0 0 5px #fff9e455}.wedding-site .game-theme-strip:before{content:"";z-index:-1;pointer-events:none;border:1px solid #fffcef80;border-radius:13px 3px;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.wedding-site .game-theme-visual{pointer-events:none;flex:0 0 128px;place-items:center;width:128px;height:112px;display:grid;position:relative}.wedding-site .game-theme-aura{z-index:-1;background:radial-gradient(ellipse, var(--theme-accent), transparent 70%);opacity:.17;border-radius:50%;position:absolute;top:10px;bottom:10px;left:0;right:0}.wedding-site .game-theme-artwork{filter:drop-shadow(0 4px 2px #8c775416);width:100%;height:100%;overflow:visible}.wedding-site .game-theme-illustration{object-fit:contain;filter:drop-shadow(0 5px 4px #82664724);width:140px;max-width:none;height:129px}.wedding-site .game-theme-copy{flex:1;min-width:0;position:relative}.wedding-site .game-theme-kicker{letter-spacing:1.2px;color:var(--theme-muted);font-size:10px;line-height:1.6;display:block}.wedding-site .game-theme-title{font-family:var(--font-game);letter-spacing:1px;margin-top:4px;font-size:24px;font-weight:400;line-height:1.4;display:block}.wedding-site .game-theme-caption{color:var(--theme-muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.65}.wedding-site .game-theme-edge{background:var(--theme-accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--theme-border);border:1px solid #fff4c9;position:absolute;top:-4px;right:17px;transform:rotate(45deg)}.wedding-site .game-theme-corners{pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none;position:absolute;top:0;bottom:0;left:0;right:0}.wedding-site .theme-corner-one{opacity:.57;width:78px;height:64px;position:absolute;top:14px;left:max(12px,50% - 520px);transform:rotate(-12deg)}.wedding-site .theme-corner-two{opacity:.6;position:absolute;top:32px;right:max(18px,50% - 520px);transform:rotate(10deg)}.wedding-site .theme-corner-two>div{margin:0}.wedding-site .theme-corners-heartsteel .theme-corner-one{top:12px;left:auto;right:max(14px,50% - 520px);transform:rotate(12deg)}.wedding-site .theme-corners-heartsteel .theme-corner-two{top:43px;left:max(16px,50% - 520px);right:auto;transform:rotate(-8deg)}.wedding-site .theme-corners-star-guardian .theme-corner-one{transform:rotate(16deg)}.wedding-site .theme-corners-star-guardian .theme-corner-two{top:24px}.wedding-site .theme-corners-portal .theme-corner-one{width:72px;transform:rotate(0)}.wedding-site .theme-corners-fortune .theme-corner-one{left:auto;right:max(12px,50% - 520px);transform:rotate(12deg)}.wedding-site .theme-corners-fortune .theme-corner-two{top:22px;left:max(18px,50% - 520px);right:auto}.wedding-site .theme-corners-equipment .theme-corner-one{width:85px;transform:rotate(-6deg)}.wedding-site .theme-corners-prismatic .theme-corner-one{top:12px;left:auto;right:max(14px,50% - 520px);transform:rotate(9deg)}.wedding-site .theme-corners-prismatic .theme-corner-two{left:max(16px,50% - 520px);right:auto}.wedding-site .theme-heartsteel{--theme-base:#e6e9e0;--theme-light:#faf1e9;--theme-accent:#b6838c;--theme-border:#aeb1a0;--theme-ink:#68625f;--theme-muted:#9a837d;border-left-width:5px;border-radius:13px}.wedding-site .theme-heartsteel:before{border-color:#f9e6d699;border-radius:7px}.wedding-site .theme-heartbeat{color:#bc7e8f;align-items:center;gap:4px;height:18px;margin-top:10px;display:flex}.wedding-site .theme-heartbeat span{background:#91b8a8;border-radius:4px;width:3px;height:6px}.wedding-site .theme-heartbeat span:nth-child(2),.wedding-site .theme-heartbeat span:nth-child(6){height:11px}.wedding-site .theme-heartbeat span:nth-child(3),.wedding-site .theme-heartbeat span:nth-child(5){background:#bd8c97;height:16px}.wedding-site .theme-heartbeat span:nth-child(4){height:10px}.wedding-site .theme-heartbeat i{margin-left:4px;font-size:16px;font-style:normal;line-height:1}.wedding-site .game-theme-strip.component-entering .theme-heartbeat span{animation:.8s ease-in-out 2 alternate game-theme-beat}.wedding-site .game-theme-strip.component-entering .theme-heartbeat span:nth-child(2n){animation-delay:.15s}.wedding-site .theme-star-guardian{--theme-base:#eae3ef;--theme-light:#faf4ed;--theme-accent:#ae8bbd;--theme-border:#c5afcc;--theme-ink:#776584;--theme-muted:#9787a1;border-radius:20px}.wedding-site .theme-constellation{border-bottom:1px solid #cbb7d1;width:92px;height:20px;margin-top:9px;position:relative;transform:rotate(-4deg)}.wedding-site .theme-constellation i{background:#b7a1c4;border:1px solid #f9edcd;border-radius:50%;width:6px;height:6px;position:absolute;top:15px}.wedding-site .theme-constellation i:first-child{left:0}.wedding-site .theme-constellation i:nth-child(2){top:4px;left:34px}.wedding-site .theme-constellation i:nth-child(3){right:0}.wedding-site .theme-constellation:before{content:"";border-top:1px solid #cbb7d1;width:33px;position:absolute;top:10px;left:3px;transform:rotate(-18deg)}.wedding-site .theme-constellation span{color:#c5a361;font-size:20px;position:absolute;top:-7px;left:61px}.wedding-site .theme-portal{--theme-base:#daeade;--theme-light:#f2f4df;--theme-accent:#6da89f;--theme-border:#abc2a1;--theme-ink:#447970;--theme-muted:#7b9b85;border-radius:28px 28px 8px 8px}.wedding-site .theme-route-line{align-items:center;gap:5px;width:98px;margin-top:13px;display:flex}.wedding-site .theme-route-line i{background:#e6d297;border:2px solid #76a394;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #c6dec3}.wedding-site .theme-route-line i:last-child{background:#8bbeb0;border-radius:0;transform:rotate(45deg)}.wedding-site .theme-route-line span{border-top:2px dashed #9ebd9e;flex:1}.wedding-site .theme-fortune{--theme-base:#f2ded0;--theme-light:#fff3d9;--theme-accent:#c48773;--theme-border:#c9a263;--theme-ink:#9b6557;--theme-muted:#ad8b70;border-top:4px solid #c99072;border-radius:8px 24px}.wedding-site .theme-fortune-stars{color:#c49d52;flex-wrap:wrap;align-items:center;gap:3px;width:144px;max-width:100%;margin-top:8px;display:flex}.wedding-site .theme-fortune-stars i{text-shadow:0 1px #fff0b9;font-size:13px;font-style:normal;line-height:1}.wedding-site .theme-fortune-stars i:nth-child(3n){color:#be7f6b}.wedding-site .theme-fortune-stars i:nth-child(5){font-size:17px}.wedding-site .theme-duo{--theme-base:#e7eddd;--theme-accent:#8ba584;--theme-border:#c7b477}.wedding-site .theme-bond-line{color:#bf8c89;align-items:center;gap:9px;width:102px;margin-top:9px;display:flex}.wedding-site .theme-bond-line i{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#a9bca0;width:18px;height:20px}.wedding-site .theme-bond-line i:last-child{background:#d5aaa0}.wedding-site .theme-bond-line span{text-align:center;border-bottom:1px solid #c3b788;flex:1;font-size:14px;line-height:1.2}.wedding-site .theme-recruit{--theme-base:#e2ebd9;--theme-light:#f8f0de;--theme-accent:#8eaa78;--theme-border:#b8bd8d;--theme-ink:#677b50;--theme-muted:#899570;border-radius:8px}.wedding-site .theme-party-bench{border-bottom:3px solid #cdb788;align-items:flex-end;gap:5px;width:106px;margin-top:11px;padding-bottom:3px;display:flex}.wedding-site .theme-party-bench i{background:#b6c6a0;border:1px solid #f4e5b2;border-radius:4px 4px 0 0;width:18px;height:17px}.wedding-site .theme-party-bench i:nth-child(2){background:#c6afca;height:22px}.wedding-site .theme-party-bench i:nth-child(3){background:#d4b58c}.wedding-site .theme-party-bench span{color:#b88682;margin-left:6px;font-size:15px;line-height:1.2}.wedding-site .theme-celestial{--theme-base:#f2e7d6;--theme-light:#fff5de;--theme-accent:#cba483;--theme-border:#d3bc87;--theme-ink:#987852;--theme-muted:#a58f73;border-radius:24px 8px}.wedding-site .theme-lantern-tassel{border-top:1px solid #d0b47c;justify-content:center;align-items:flex-start;gap:8px;width:81px;height:17px;margin-top:9px;display:flex}.wedding-site .theme-lantern-tassel i{background:#c6947f;border-radius:0 0 3px 3px;width:3px;height:10px;position:relative}.wedding-site .theme-lantern-tassel i:nth-child(2){height:16px}.wedding-site .theme-lantern-tassel i:after{content:"";background:#d8b677;border-radius:50%;width:7px;height:7px;position:absolute;bottom:-3px;left:-2px}.wedding-site .theme-equipment{--theme-base:#e1e8d1;--theme-light:#f5efdf;--theme-accent:#9bb185;--theme-border:#b8bb91;--theme-ink:#6f7f55;--theme-muted:#8d9477;border-right-width:4px;border-radius:6px 18px}.wedding-site .theme-equipment-slots{gap:5px;margin-top:8px;display:flex}.wedding-site .theme-equipment-slots i{color:#9d8b66;background:#f1e5c9;border:1px solid #c1b98f;border-radius:3px;place-items:center;width:24px;height:22px;font-size:11px;font-style:normal;display:grid}.wedding-site .theme-equipment-slots i:nth-child(2){background:#dce7cf}.wedding-site .theme-equipment-slots i:nth-child(3){background:#e5d8e7}.wedding-site .theme-prismatic{--theme-base:#e7e4e1;--theme-light:#fff1dd;--theme-accent:#a399bc;--theme-border:#c4b29f;--theme-ink:#847190;--theme-muted:#9a8b91;background:linear-gradient(120deg,#f6e8dd,#ebdfeb 48%,#deece0);border-bottom-color:#b1bcb1;border-radius:20px}.wedding-site .theme-prism-shards{align-items:center;gap:9px;margin-top:9px;display:flex}.wedding-site .theme-prism-shards i{clip-path:polygon(50% 0,100% 35%,85% 80%,50% 100%,15% 80%,0 35%);background:#c6acd1;width:12px;height:17px}.wedding-site .theme-prism-shards i:nth-child(2){background:#a4cbbd;height:21px}.wedding-site .theme-prism-shards i:nth-child(3){background:#e1c28c}.wedding-site .theme-section-hero{--theme-border:#bca86d;--theme-accent:#dbb87e;--theme-ink:#fff0cf;--theme-muted:#d0ca9f;background:linear-gradient(135deg,#3c6355e0,#254739e0);border-bottom-width:3px;border-radius:14px;gap:11px;width:min(100%,350px);min-height:90px;margin:4px auto 20px;padding:7px 16px 7px 8px;box-shadow:0 6px 14px #03231720,inset 0 0 0 4px #ebd7a509}.wedding-site .theme-section-hero .game-theme-visual{flex-basis:83px;width:83px;height:72px}.wedding-site .theme-section-hero .game-theme-kicker{letter-spacing:.7px;font-size:9px}.wedding-site .theme-section-hero .game-theme-title{margin-top:1px;font-size:20px}.wedding-site .theme-section-hero .game-theme-caption{margin-top:2px;font-size:12px}.wedding-site .theme-section-hero .theme-bond-line{display:none}.wedding-site .theme-section-closing{width:min(100% - 40px,550px);margin-bottom:33px}@keyframes game-theme-beat{to{transform:scaleY(.45)}}.wedding-site main>section[data-game-theme]:not(.wedding-hero):before{background-image:var(--theme-pattern,var(--hex-pattern));opacity:.19;background-size:104px 70px}.wedding-site section[data-game-theme=heartsteel]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M24%2037C3%2024%2013%208%2024%2019C35%208%2045%2024%2024%2037Z%22%2F%3E%3Cpath%20d%3D%22M55%2023h6l5-9%206%2019%205-10h7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=star-guardian]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22m25%209%204%2012%2013%201-10%208%203%2013-10-7-11%207%204-13-10-8%2013-1Z%22%2F%3E%3Cpath%20d%3D%22m51%2027%2010-11%2017%2016%22%20stroke-dasharray%3D%222%204%22%2F%3E%3Ccircle%20cx%3D%2261%22%20cy%3D%2216%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2278%22%20cy%3D%2232%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=portal]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%2045V24a14%2014%200%200%201%2028%200v21M17%2044V24a9%209%200%200%201%2018%200v20%22%2F%3E%3Cellipse%20cx%3D%2226%22%20cy%3D%2245%22%20rx%3D%2220%22%20ry%3D%225%22%2F%3E%3Cpath%20d%3D%22m62%2017%209%209-9%209-9-9Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=fortune]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23b38162%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22m17%2030%2011%202%207-4%2010%202-5%2010H22Z%22%2F%3E%3Ccircle%20cx%3D%2267%22%20cy%3D%2217%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M65%2014h4v6h-4Z%22%2F%3E%3Cpath%20d%3D%22m65%2040%202%205%205%201-4%203%201%205-4-3-5%203%202-5-4-3%205-1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=recruit]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M7%2043h36M11%2039V18h12v21M28%2039V14h12v25%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2224%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%2220%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M60%2017h18v23H60Z%22%2F%3E%3Cpath%20d%3D%22m64%2034%205-12%205%2012%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=celestial]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M25%208v7m-8%200h16m-16%2021h16m-8%200v9M17%2015q-11%2011%200%2021h16q11-11%200-21ZM25%2015v21%22%2F%3E%3Cpath%20d%3D%22m62%2013%202%207%207%202-7%202-2%207-2-7-7-2%207-2Z%22%2F%3E%3Cpath%20d%3D%22M55%2047q-8-8%202-9%203-9%2011-4%208-3%2011%204%2011%200%204%209Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=equipment]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M10%2013h23v32H10Z%22%2F%3E%3Cpath%20d%3D%22M17%2021q15%208%200%2016V21M15%2029h14M25%2025l4%204-4%204%22%2F%3E%3Cpath%20d%3D%22m57%2017%2013-5%2012%205-2%2018-10%208-11-8Z%22%2F%3E%3Cpath%20d%3D%22M70%2017v21M61%2022h17%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.wedding-site section[data-game-theme=prismatic]{--theme-pattern:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22104%22%20height%3D%2270%22%20viewBox%3D%220%200%20104%2070%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238b9a74%22%20stroke-width%3D%221.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22m26%209%2015%209v20l-15%209-16-9V18ZM10%2018l16%209%2015-9M26%2027v20%22%2F%3E%3Cpath%20d%3D%22m64%2017%2013%200%207%2011-13%2015-14-15ZM57%2028h27M64%2017l7%2026%206-26%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}@media (min-width:760px){.wedding-site .game-theme-strip:not(.theme-section-hero){gap:23px;min-height:142px;margin-bottom:42px;padding:14px 26px 14px 18px}.wedding-site .game-theme-strip:not(.theme-section-hero) .game-theme-visual{flex-basis:146px;width:146px;height:120px}.wedding-site .game-theme-title{font-size:27px}.wedding-site .game-theme-caption{font-size:14px}.wedding-site .game-theme-kicker{font-size:11px}.wedding-site .game-theme-illustration{width:160px;height:147px}.wedding-site .theme-corner-one{opacity:.7;width:93px;height:77px;top:15px}.wedding-site .theme-corner-two{opacity:.7;top:45px}}@media (max-width:420px){.wedding-site .game-theme-strip{gap:11px;min-height:126px;padding:11px 16px 11px 7px}.wedding-site .game-theme-visual{flex-basis:108px;width:108px;height:100px}.wedding-site .game-theme-illustration{width:121px;height:112px}.wedding-site .game-theme-title{letter-spacing:.5px;font-size:22px}.wedding-site .game-theme-kicker{letter-spacing:.5px;font-size:9px}.wedding-site .game-theme-caption{font-size:12px}.wedding-site .theme-section-hero{min-height:88px;margin-bottom:18px}.wedding-site .theme-section-hero .game-theme-visual{flex-basis:75px;width:75px;height:66px}.wedding-site .theme-section-hero .game-theme-title{font-size:19px}.wedding-site .theme-section-hero .game-theme-caption{font-size:11px}.wedding-site .theme-fortune-stars{gap:2px;width:124px}.wedding-site .theme-fortune-stars i{font-size:12px}.wedding-site .theme-fortune-stars i:nth-child(5){font-size:15px}}@media (max-width:350px){.wedding-site .game-theme-strip{gap:7px;padding-right:11px}.wedding-site .game-theme-visual{flex-basis:90px;width:90px;height:88px}.wedding-site .game-theme-illustration{width:105px;height:100px}.wedding-site .game-theme-title{font-size:21px}.wedding-site .game-theme-kicker{letter-spacing:.2px;font-size:8px}.wedding-site .game-theme-caption{font-size:12px;line-height:1.55}.wedding-site .theme-corner-one{width:68px;height:56px}.wedding-site .theme-corner-two{transform-origin:100%;transform:scale(.84)rotate(10deg)}.wedding-site .theme-corners-fortune .theme-corner-two,.wedding-site .theme-corners-heartsteel .theme-corner-two,.wedding-site .theme-corners-prismatic .theme-corner-two{transform-origin:0}.wedding-site .theme-section-hero .game-theme-kicker{font-size:9px}}@media (prefers-reduced-motion:reduce){.wedding-site .game-theme-strip.component-entering .theme-heartbeat span{animation:none}}.wedding-site{--ink:#263f37;--teal:#365e51;--teal-dark:#14382f;--cream:#faf8ef;--gold:#c4a466;--pink:#c88580;--muted:#7c8678;color:var(--ink);font-family:var(--font-game);background:var(--cream);-webkit-tap-highlight-color:transparent;line-height:1.65;overflow-x:clip}.wedding-site *{box-sizing:border-box}.wedding-site button,.wedding-site input,.wedding-site textarea,.wedding-site select{font:inherit}.wedding-site button{cursor:pointer}.wedding-site button:disabled{cursor:not-allowed;opacity:.55}.wedding-site button,.wedding-site a{touch-action:manipulation}.wedding-site button:focus-visible{outline-offset:4px;outline:3px solid #c69c65}.wedding-site a:focus-visible{outline-offset:4px;outline:3px solid #c69c65}.wedding-site img{max-width:100%;display:block}.wedding-site h1,.wedding-site h2,.wedding-site h3,.wedding-site p{margin:0}.wedding-site a{color:inherit;text-decoration:none}.wedding-site audio{display:none}.wedding-site button{border:0}.wedding-site svg{flex-shrink:0}.wedding-site section{scroll-margin-top:24px}.section-padding{padding:76px 22px}.section-inner{max-width:960px;margin:0 auto}.section-inner.narrow{max-width:680px}.section-heading{text-align:center;margin-bottom:40px}.chapter-label{letter-spacing:2px;color:#a18559;justify-content:center;align-items:center;gap:12px;font-size:9px;font-weight:400;line-height:1.5;display:flex}.chapter-label>span:first-child{font-size:10px}.chapter-label i{opacity:.4;background:currentColor;width:23px;height:1px}.chapter-label.centered{justify-content:center}.section-heading h2,.countdown-title{letter-spacing:3px;font-size:29px;font-family:var(--font-game);margin-top:15px;font-weight:400;line-height:1.4}.section-heading p,.section-intro{color:var(--muted);letter-spacing:.5px;margin-top:12px;font-size:12px;line-height:1.9}.tiny-label{letter-spacing:1.8px;color:#9f9174;font-size:8px;font-weight:400;display:block}.button{letter-spacing:.7px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 23px;font-size:13px;font-weight:400;line-height:1.5;transition:transform .18s,background .2s;display:inline-flex;border-radius:8px!important}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button-teal{background:var(--teal);color:#fff5df;box-shadow:0 5px #254337}.button-coral{color:#fff;background:#c4857d;box-shadow:0 5px #a76a64}.button-outline{color:var(--teal);box-shadow:none;background:0 0;border:1px solid #bfcbbb!important}.music-toggle{right:16px;top:max(17px,env(safe-area-inset-top));z-index:40;color:#fff5df;letter-spacing:.3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#183c32d9;border-radius:30px;align-items:center;gap:7px;padding:5px 11px 5px 5px;font-size:9px;display:flex;position:fixed;box-shadow:0 2px 8px #122f281a;border:1px solid #dfcc9680!important}.music-disc{border:1px solid #ecd7a05c;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.music-toggle.is-playing .music-disc{animation:8s linear infinite disc-turn}.music-notice{z-index:42;max-width:250px;color:var(--teal);background:#fff8e9;border-radius:8px;padding:10px 15px;font-size:12px;position:fixed;top:67px;right:16px;box-shadow:0 4px 20px #0002}.preview-banner{z-index:45;color:#fff4d7;text-align:center;background:#243f37;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:11px;display:flex;position:relative}.music-toggle.in-preview{top:48px}.wedding-hero{min-height:810px;color:#fff5df;isolation:isolate;background:#14372d;min-height:max(800px,100svh);position:relative;overflow:hidden}.hero-background{object-fit:cover;z-index:-3;opacity:.86;width:100%;height:100%;position:absolute}.hero-shade{z-index:-2;background:linear-gradient(#092a239c 0%,#0d302a38 35%,#193a2e00 50%,#16352cf0 96%);position:absolute;top:0;bottom:0;left:0;right:0}.hero-content{text-align:center;max-width:640px;min-height:inherit;flex-direction:column;align-items:center;margin:0 auto;padding:94px 20px 24px;display:flex;position:relative}.hero-kicker{color:#dfce97;letter-spacing:1.2px;justify-content:center;align-items:center;gap:9px;max-width:90%;font-size:8px;line-height:1.8;display:flex}.hero-small-title{letter-spacing:3px;color:#e4d8ad99;font-size:8px;margin-top:28px!important}.wedding-hero h1{font-size:clamp(40px,11.8vw,58px);font-family:var(--font-game);letter-spacing:6px;text-shadow:0 3px 20px #142e26;margin-top:8px;font-weight:400;line-height:1.5}.hero-names{letter-spacing:2px;color:#fff7df;justify-content:center;align-items:center;gap:17px;margin-top:10px;font-size:19px;display:flex}.name-heart{color:#d2a78e;place-items:center;display:grid}.hero-date{letter-spacing:1px;color:#dacfae;align-items:center;gap:11px;margin-top:15px;font-size:10px;display:flex}.hero-date i{background:#d4c18c88;width:1px;height:9px}.couple-stage{justify-content:center;align-items:center;width:min(90vw,370px);height:330px;margin-top:13px;display:flex;position:relative}.hero-couple{object-fit:contain;filter:drop-shadow(0 16px 15px #0321174d);width:100%;height:100%;animation:5s ease-in-out infinite couple-float;position:relative}.couple-glow{filter:blur(14px);background:radial-gradient(#eedaa847,#f2d9a614 48%,#0000 70%);border-radius:50%;width:86%;height:70%;position:absolute}.couple-petal{color:#eddd9b;text-shadow:0 0 15px #dfc879;animation:5s ease-in-out infinite firefly-float;position:absolute}.petal-one{font-size:18px;top:45px;left:7px}.petal-two{font-size:26px;bottom:46px;right:6px}.hero-subtitle{letter-spacing:1px;color:#e6dfca;white-space:pre-line;max-width:290px;font-size:11px;line-height:1.9;margin:8px 0 20px!important}.hero-start{color:#354635;letter-spacing:1px;background:linear-gradient(135deg,#f6e7bd,#dcc48e);border-radius:8px;justify-content:center;align-items:center;gap:11px;min-height:47px;padding:12px 22px;font-size:13px;font-weight:400;display:flex;box-shadow:0 5px #8e7b4a,0 12px 22px #10261e66;border:1px solid #fff3c2!important}.hero-start:active{transform:translateY(3px);box-shadow:0 2px #8e7b4a}.scroll-cue{color:#dfd8c0b0;letter-spacing:1.5px;background:0 0;flex-direction:column;align-items:center;gap:3px;margin-top:25px;font-size:9px;display:flex}.scroll-cue svg{animation:2s ease-in-out infinite scroll-bounce}.hero-bottom-line{opacity:.6;background:linear-gradient(90deg,#0000,#d3bd7c,#0000);width:100%;height:4px;position:absolute;bottom:0;left:0}.hero-fireflies{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hero-fireflies i{background:#f6e5a7;border-radius:50%;width:3px;height:3px;animation:5s ease-in-out infinite firefly-float;position:absolute;box-shadow:0 0 8px #ebd986}.hero-fireflies i:first-child{top:20%;left:12%}.hero-fireflies i:nth-child(2){animation-delay:-2s;top:48%;left:8%}.hero-fireflies i:nth-child(3){animation-delay:-1s;top:30%;right:11%}.hero-fireflies i:nth-child(4){animation-delay:-4s;top:64%;right:17%}.hero-fireflies i:nth-child(5){animation-delay:-3s;top:73%;left:22%}.hero-fireflies i:nth-child(6){animation-delay:-2.5s;top:43%;right:31%}.hero-spatulas{pointer-events:none;opacity:.7;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.falling-spatula{width:26px;animation:9s linear infinite spatula-fall;position:absolute;top:-70px}.spatula-0{left:9%;animation-delay:-2s!important}.spatula-1{width:21px;left:83%;animation-delay:-6s!important}.spatula-2{opacity:.7;width:15px;left:68%;animation-delay:1s!important}.spatula-3{opacity:.7;width:18px;left:23%;animation-delay:-8s!important}.countdown-section{text-align:center;background:#f7f3e6;border-bottom:1px solid #d9d9c84d;padding-top:60px;padding-bottom:61px;position:relative}.countdown-title{margin-top:15px!important}.countdown-grid{justify-content:center;gap:13px;margin-top:30px;display:flex}.countdown-unit{flex:0 72px;min-width:0}.flip-number{perspective:400px;color:#fff7dc;isolation:isolate;background:linear-gradient(#365747 49%,#294a3a 50%);border-radius:7px;place-items:center;height:73px;display:grid;position:relative;box-shadow:0 5px #1f3b2e,0 8px 15px #23492e19}.flip-number:after{content:"";z-index:2;background:#102f2580;height:1px;position:absolute;top:50%;left:0;right:0}.flip-number:before{content:"";border-top:1px solid #608466;border-radius:7px 7px 0 0;height:50%;position:absolute;top:0;left:3px;right:3px}.flip-number span{font-size:36px;font-family:var(--font-game);font-variant-numeric:tabular-nums;font-weight:400;line-height:1;display:block}.flip-number.flipping span{animation:.48s cubic-bezier(.3,.7,.2,1) flip-number}.countdown-label{color:#6f7e68;letter-spacing:2px;margin-top:14px;font-size:10px;display:block}.countdown-date{color:#a28f62;letter-spacing:.5px;justify-content:center;align-items:center;gap:11px;margin-top:26px;font-size:9px;display:flex}.countdown-date i{background:#c9b58b80;width:28px;height:1px}.countdown-ended{color:var(--teal);justify-content:center;align-items:center;gap:12px;margin:28px 0 8px;font-size:17px;display:flex}.story-section{background:#fbf9f0;position:relative}.story-path{max-width:700px;margin:auto;position:relative}.story-path:before{content:"";background:linear-gradient(#c8b89666,#c2aa7dbb,#c8b89666);width:1px;position:absolute;top:10px;bottom:14px;left:50%}.story-node{width:50%;min-height:162px;padding:0 27px 32px 0;position:relative}.story-right{margin-left:50%;padding:0 0 32px 27px}.story-marker{color:#a49469;z-index:1;background:#fbf9f0;border:1px solid #cbb995;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;top:14px;right:-13px}.story-right .story-marker{left:-13px;right:auto}.story-paper{background:#fffefa;border:1px solid #e6e0cf;border-radius:4px;padding:20px 20px 17px;position:relative;box-shadow:0 7px 20px #92877405}.story-paper:after{content:"";background:#fffefa;border-top:1px solid #e6e0cf;border-right:1px solid #e6e0cf;width:8px;height:8px;position:absolute;top:23px;right:-5px;transform:rotate(45deg)}.story-right .story-paper:after{border-top:0;border-bottom:1px solid #e6e0cf;border-left:1px solid #e6e0cf;border-right:0;left:-5px;right:auto}.story-season{color:#b68570;letter-spacing:1px;font-size:11px;display:block}.story-paper h3{font-size:17px;font-family:var(--font-game);letter-spacing:1px;margin-top:5px;font-weight:400}.story-paper p{color:#8a8d7f;white-space:pre-line;margin-top:8px;font-size:11px;line-height:1.9}.story-chapter{letter-spacing:1.7px;color:#c2ba9b;margin-top:14px;font-size:7px;display:block}.story-ending{color:#b5ae8c;justify-content:center;align-items:center;gap:19px;margin-top:8px;display:flex}.story-ending span{color:#cdada0;font-size:12px}.gallery-section{background:#eef0e6;border-top:1px solid #d4d8c666;border-bottom:1px solid #d4d8c666}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px;max-width:790px;margin:auto;display:grid}.gallery-photo{color:var(--ink);text-align:left;background:#fffdf6;padding:9px 9px 0;transition:transform .25s;box-shadow:0 8px 23px #62715b0d;border:1px solid #dedfd0!important}.gallery-photo:hover{transform:translateY(-5px)rotate(0)}.photo-0{transform:rotate(-2deg)}.photo-1{transform:rotate(1.8deg)}.photo-2{transform:rotate(1.2deg)}.photo-3{transform:rotate(-1.5deg)}.gallery-image-wrap{aspect-ratio:4/5;background:#d8dfcc;position:relative;overflow:hidden}.gallery-image-wrap>img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery-photo:hover img{transform:scale(1.03)}.sample-tag{letter-spacing:.3px;color:#7c806c;background:#fffff4d6;border-radius:3px;padding:2px 6px;font-size:8px;position:absolute;top:7px;left:7px}.gallery-zoom{color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#233c3055;border:1px solid #fff6;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;bottom:8px;right:8px}.gallery-caption{letter-spacing:.5px;color:#788370;justify-content:space-between;align-items:center;gap:5px;padding:12px 3px 13px;font-size:10px;line-height:1.5;display:flex}.gallery-caption>span:last-child{font-family:var(--font-game);color:#baad8b;font-size:11px}.information-section{background:#f9f5ea}.venue-ticket{background:#fffdf6;border:1px solid #dbcdaa;border-radius:10px;max-width:730px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 35px #92795a0a}.ticket-main{padding:33px 29px;position:relative}.ticket-stamp{color:#b79558;border:1px solid #d6bf88;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:25px;right:25px;transform:rotate(15deg);box-shadow:inset 0 0 0 4px #fffcf5,inset 0 0 0 5px #ddc99c}.ticket-main .tiny-label{max-width:calc(100% - 38px);font-size:7px;line-height:1.8}.ticket-main h3{letter-spacing:3px;font-size:28px;font-family:var(--font-game);margin-top:17px;font-weight:400}.venue-address{color:#8b8d7b;align-items:flex-start;gap:6px;max-width:95%;font-size:11px;line-height:1.9;display:flex;margin-top:9px!important}.venue-address svg{margin-top:3px}.venue-date{color:#576951;flex-wrap:wrap;align-items:center;gap:9px;margin-top:24px;font-size:12px;display:flex}.venue-date svg{color:#b3a17a}.venue-date strong{font-family:var(--font-game);color:#7d876d;margin-left:auto;font-size:15px;font-weight:400}.ticket-rule{background:#e4decc;width:100%;height:1px;margin:22px 0}.event-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.event-times>div{border-right:1px solid #e6dfcb;flex-direction:column;gap:5px;display:flex}.event-times>div:last-child{border:0}.event-times strong{font-family:var(--font-game);color:#4d634c;font-size:20px;font-weight:400}.ticket-nav{background:#f0efdf;border-top:1px dashed #c9bea0;flex-wrap:wrap;align-items:center;gap:14px;padding:22px 26px;display:flex;position:relative}.ticket-nav:before,.ticket-nav:after{content:"";background:#f9f5ea;border:1px solid #dbcdaa;border-radius:50%;width:19px;height:19px;position:absolute;top:-10px}.ticket-nav:before{left:-11px}.ticket-nav:after{right:-11px}.ticket-nav>svg{color:#a29268}.ticket-nav .tiny-label{font-size:7px}.ticket-nav p{color:#7e8369;margin-top:4px;font-size:11px}.ticket-nav .button{gap:7px;min-height:41px;margin-left:auto;padding:10px 15px;font-size:11px}.schedule-layout{grid-template-columns:1fr 1fr;align-items:center;gap:24px;max-width:760px;margin:auto;display:grid}.schedule-list{position:relative}.schedule-list:before{content:"";border-left:1px dashed #c8baa0;position:absolute;top:30px;bottom:40px;left:18px}.schedule-step{gap:18px;padding:0 0 30px;display:flex;position:relative}.schedule-step:last-child{padding-bottom:0}.schedule-number{letter-spacing:1px;color:#ad9563;background:#fbf9ef;border:1px solid #d5c6a3;border-radius:50%;flex-shrink:0;place-items:center;width:37px;height:37px;font-size:10px;display:grid;position:relative}.schedule-time{color:#b38e74;letter-spacing:1px;align-items:center;gap:5px;padding-top:3px;font-size:10px;line-height:1.4;display:flex}.schedule-step h3{letter-spacing:1px;font-size:18px;font-family:var(--font-game);margin-top:5px;font-weight:400}.schedule-step p{color:#8c8e7e;margin-top:6px;font-size:11px;line-height:1.9}.feast-illustration{text-align:center;min-width:0;padding-bottom:30px;position:relative}.feast-circle{aspect-ratio:1;background:radial-gradient(circle,#eee3c6,#eee8d460 62%,#0000 70%);border-radius:50%;width:90%;position:absolute;top:2%;left:5%}.feast-illustration img{object-fit:contain;filter:drop-shadow(0 12px 12px #95896112);width:100%;height:auto;max-height:300px;position:relative}.feast-spark{color:#baab71;position:absolute}.spark-one{font-size:26px;top:25%;left:3%}.spark-two{font-size:18px;top:7%;right:0}.feast-label{letter-spacing:2px;color:#b09765;align-items:center;gap:7px;margin-top:7px;font-size:8px;display:inline-flex;position:relative}.rsvp-section{background:#f1e9df;border-top:1px solid #e4d6c9}.rsvp-paper{background:#fffdf8;border:1px solid #e0d5c6;border-radius:5px;max-width:640px;margin:auto;padding:30px 32px 34px;position:relative;box-shadow:0 10px 35px #9e7c6308}.rsvp-paper:before{content:"";pointer-events:none;border:1px solid #eee7db;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.form-top{color:#a48f78;letter-spacing:3px;align-items:center;gap:12px;margin-bottom:28px;font-size:12px;display:flex}.rsvp-seal{color:#bf9583;background:#f8eee3;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.form-top i{background:#e3d9c8;flex:1;height:1px;margin-left:7px}.form-row{grid-template-columns:1.45fr 1fr;gap:18px;display:grid}.form-field{margin-bottom:19px;position:relative}.form-field label{letter-spacing:.5px;color:#56664e;align-items:center;gap:6px;margin-bottom:7px;font-size:11px;display:flex}.form-field label>span{color:#bd9080;font-size:10px}.form-field .field-optional{color:#afab99;margin-left:auto;font-size:9px}.form-field input,.form-field select,.form-field textarea{color:#3b5141;background:#fcfbf5;border:1px solid #e1ddce;border-radius:5px;outline:none;width:100%;min-height:44px;padding:11px 12px;font-size:13px;line-height:1.5;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#8eab91;box-shadow:0 0 0 2px #8eab9110}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#c77d73}.form-field textarea{resize:vertical;min-height:98px;padding-bottom:25px}.select-wrap{position:relative}.select-wrap select{-webkit-appearance:none;appearance:none;padding-right:32px}.select-wrap>svg{pointer-events:none;color:#909880;position:absolute;top:15px;right:12px}.message-counter{letter-spacing:.5px;color:#b1ad99;pointer-events:none;font-size:9px;position:absolute;bottom:9px;right:11px}.field-error{color:#ba655d;font-size:10px;margin-top:5px!important}.privacy-note{color:#a09d8b;align-items:flex-start;gap:7px;font-size:9px;line-height:1.8;display:flex;margin:4px 0 21px!important}.privacy-note>svg{color:#a4ac90;margin-top:2px}.submit-button{width:100%;padding:13px 20px;font-size:12px;position:relative}.submit-button>svg:last-child{margin-left:auto}.submit-button>span{flex:1}.preview-form-note,.submission-error{color:#b17365;background:#f8eeea;border-radius:4px;padding:9px 12px;font-size:11px;line-height:1.7;margin-bottom:16px!important}.rsvp-success{text-align:center;padding:27px 0 16px}.success-icon{color:#5b7955;background:#e7efdf;border:1px solid #c8d5be;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;display:grid}.rsvp-success .tiny-label{font-size:7px}.rsvp-success h3{font-family:var(--font-game);letter-spacing:2px;margin-top:13px;font-size:27px;font-weight:400}.rsvp-success>p{color:#8a8c7b;max-width:370px;margin:13px auto 22px;font-size:12px;line-height:1.9}.success-date{color:#9d946f;justify-content:center;align-items:center;gap:7px;margin-bottom:27px;font-size:11px;display:flex}.rsvp-success .button{font-size:11px}.wishes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.wish-note{background:#f7f1df;border:1px solid #e6ddc7;border-radius:3px;flex-direction:column;min-width:0;padding:25px 22px 17px;display:flex;position:relative;box-shadow:0 5px 16px #8d85600a}.wish-note.note-1{background:#f1eee1;border-color:#dedecb}.wish-note.note-2{background:#f6eae1;border-color:#e7d9cc}.wish-heart{color:#c2a885;margin-bottom:15px}.wish-note>p{color:#68715d;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font-size:12px;line-height:1.9}.wish-author{color:#888c74;border-top:1px solid #d9ceb74d;align-items:center;gap:7px;min-width:0;margin-top:23px;padding-top:13px;font-size:10px;display:flex}.wish-author>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wish-avatar{color:#9b9270;background:#e7ddc550;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.wish-date{letter-spacing:.5px;color:#aba48b;flex-shrink:0;margin-left:auto;font-size:8px}.wishes-empty{text-align:center;color:#a49c80;background:#f6f2e638;border:1px dashed #dcd2b9;border-radius:7px;flex-direction:column;align-items:center;gap:12px;max-width:640px;margin:auto;padding:38px 15px;font-size:12px;display:flex}.wishes-empty>a{color:#aa8f62;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex}.more-wishes{margin:30px auto 0;font-size:11px;display:flex}.wishes-error{color:#b88e6d;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:11px;display:flex}.wishes-error button{color:#687c5e;background:0 0;padding:5px;font-size:11px;text-decoration:underline}.notes-section{background:#edf0e6;border-top:1px solid #d9deca}.notes-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:720px;margin:auto;display:grid}.guest-note{align-items:flex-start;gap:12px;display:flex}.guest-note-icon{color:#859873;border:1px solid #c5cdb4;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.guest-note h3{letter-spacing:.8px;padding-top:4px;font-size:13px;font-weight:400}.guest-note p{color:#8c947e;white-space:pre-line;margin-top:9px;font-size:11px;line-height:1.9}.closing-section{text-align:center;background:linear-gradient(#f8f5e9,#f2ecdb);padding:77px 22px 28px;position:relative;overflow:hidden}.closing-flower{color:#b2bc9d;opacity:.65;justify-content:center;margin-bottom:16px;display:flex}.closing-section .chapter-label{letter-spacing:1.7px;color:#a59977;font-size:7px}.closing-section h2{font-family:var(--font-game);letter-spacing:4px;color:#3e5742;margin-top:21px;font-size:36px;font-weight:400}.closing-text{color:#93917a;white-space:pre-line;max-width:380px;font-size:11px;line-height:1.9;margin:14px auto 27px!important}.closing-names{font-family:var(--font-game);letter-spacing:2px;justify-content:center;align-items:center;gap:18px;font-size:20px;display:flex}.closing-names>svg{color:#be9983}.closing-details{color:#8e947d;letter-spacing:.5px;flex-direction:column;align-items:center;gap:4px;margin-top:16px;font-size:10px;line-height:1.9;display:flex}.closing-details>span:last-child{max-width:340px;font-size:9px}.closing-actions{justify-content:center;align-items:center;gap:18px;margin-top:29px;display:flex}.closing-actions .button{min-height:43px;padding:10px 17px;font-size:11px}.top-button{color:#96987d;background:0 0;align-items:center;gap:6px;font-size:10px;display:flex}.closing-signature{letter-spacing:2.8px;color:#b4ab87;border-top:1px solid #d6ccb659;justify-content:center;align-items:center;gap:16px;margin-top:58px;padding-top:22px;font-size:7px;display:flex}.closing-signature span{font-size:11px}.reveal-ready [data-reveal]{opacity:0;transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.reveal-ready [data-reveal].revealed{opacity:1;transform:translateY(0)}.reveal-ready .gallery-photo.revealed.photo-0{transform:rotate(-2deg)}.reveal-ready .gallery-photo.revealed.photo-1{transform:rotate(1.8deg)}.reveal-ready .gallery-photo.revealed.photo-2{transform:rotate(1.2deg)}.reveal-ready .gallery-photo.revealed.photo-3{transform:rotate(-1.5deg)}.reveal-ready .gallery-photo:hover{transform:translateY(-4px)rotate(0)}.lightbox-overlay{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#fff6dd;background:#0f211dee;justify-content:center;align-items:center;padding:65px 22px 70px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-close{right:18px;top:max(20px,env(safe-area-inset-top));color:#fff;background:#ffffff10;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;border:1px solid #ffffff30!important}.lightbox-count{letter-spacing:2px;color:#d9dcc8;font-size:11px;position:absolute;top:30px;left:25px}.lightbox-content{touch-action:pan-y;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:850px;height:100%;display:flex}.lightbox-content img{object-fit:contain;border-radius:3px;max-width:100%;max-height:calc(100% - 44px);box-shadow:0 12px 45px #0003}.lightbox-content p{letter-spacing:1px;text-align:center;margin-top:18px;font-size:12px;line-height:1.6}.lightbox-prev,.lightbox-next{bottom:max(20px,env(safe-area-inset-bottom));color:#fff;background:#ffffff0c;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;border:1px solid #ffffff40!important}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a302acc;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.map-dialog,.share-dialog{text-align:center;background:#faf7ed;border:1px solid #ddcda5;border-radius:12px;width:100%;max-width:420px;max-height:90svh;padding:33px 26px 25px;position:relative;overflow-y:auto;box-shadow:0 15px 60px #0003}.dialog-close{color:#9b9d86;background:0 0;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:12px;right:12px}.dialog-symbol{color:#a79a72;margin:0 auto 13px}.dialog-subtitle{color:#6e8063;font-size:12px;margin-top:9px!important}.dialog-address{color:#969b83;-webkit-user-select:text;user-select:text;font-size:10px;line-height:1.8;margin-top:5px!important}.map-options{flex-direction:column;gap:9px;margin-top:23px;display:flex}.map-options>a{text-align:left;color:#829075;background:#fffdf5;border:1px solid #dedeca;border-radius:6px;align-items:center;gap:12px;padding:12px 13px;display:flex}.map-options>a>div{flex:1}.map-options strong{color:#576b4f;font-size:12px;font-weight:400;display:block}.map-options span{color:#a0a48e;margin-top:2px;font-size:9px;display:block}.copy-address{color:#a18e69;background:0 0;justify-content:center;align-items:center;gap:7px;margin:19px auto 0;padding:6px;font-size:11px;display:flex}.map-help{color:#a2a28c;font-size:9px;line-height:1.8;margin-top:11px!important}.copy-status{color:#608658;font-size:11px;line-height:1.7;margin-top:13px!important}.share-dialog>p{color:#8c967c;margin-top:14px;font-size:12px;line-height:1.9}.share-dialog>.button{margin-top:24px;font-size:12px}.share-dialog>.share-url{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;color:#a5a589;background:#f0edde;border-radius:4px;margin-top:19px;padding:8px;font-size:9px}.wechat-share-arrow{color:#f4e9c1;font-size:75px;line-height:1;font-family:var(--font-game);position:fixed;top:10px;right:23px;transform:rotate(-7deg)}.spin{animation:1.3s linear infinite disc-turn}@keyframes disc-turn{to{transform:rotate(360deg)}}@keyframes couple-float{50%{transform:translateY(-7px)}}@keyframes scroll-bounce{50%{transform:translateY(4px)}}@keyframes firefly-float{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(8px,-12px)}}@keyframes spatula-fall{0%{opacity:0;transform:translateY(-50px)rotate(-28deg)}8%{opacity:.98}85%{opacity:.95}to{opacity:0;transform:translateY(1150px)rotate(255deg)}}@keyframes flip-number{0%{opacity:.6;transform:rotateX(-70deg)}to{opacity:1;transform:rotateX(0)}}@media (min-width:760px){.section-padding{padding:88px 40px}.section-heading{margin-bottom:48px}.section-heading h2,.countdown-title{letter-spacing:4px;font-size:35px}.section-heading p,.section-intro{font-size:13px}.wedding-hero{min-height:900px;max-height:1100px}.hero-content{padding-top:84px}.hero-kicker{letter-spacing:2px;font-size:10px}.hero-small-title{font-size:9px;margin-top:31px!important}.wedding-hero h1{letter-spacing:9px;font-size:65px}.hero-names{gap:24px;font-size:24px}.hero-date{font-size:12px}.couple-stage{width:440px;height:370px;margin-top:17px}.hero-subtitle{max-width:430px;font-size:12px;margin-top:9px!important}.hero-start{padding:14px 26px;font-size:14px}.music-toggle{font-size:10px;top:27px;right:30px}.countdown-section{padding-top:70px;padding-bottom:70px}.countdown-grid{gap:22px;margin-top:37px}.countdown-unit{flex-basis:89px}.flip-number{height:85px}.flip-number span{font-size:44px}.countdown-label{font-size:11px}.story-node{min-height:181px;padding-bottom:0;padding-right:38px}.story-right{padding-left:38px;padding-right:0}.story-paper{padding:25px 25px 21px}.story-paper h3{font-size:21px}.story-paper p,.story-season{font-size:12px}.story-ending{margin-top:25px}.gallery-grid{gap:30px}.gallery-photo{padding:12px 12px 0}.gallery-image-wrap{aspect-ratio:5/6}.gallery-caption{padding:15px 6px;font-size:12px}.sample-tag{font-size:9px}.venue-ticket{grid-template-columns:1fr 210px;display:grid}.ticket-main{padding:38px 37px}.ticket-main h3{font-size:34px}.venue-address{font-size:12px}.venue-date{font-size:13px}.ticket-nav{text-align:center;border-top:0;border-left:1px dashed #c9bea0;flex-direction:column;justify-content:center;gap:17px;padding:35px 22px}.ticket-nav:before,.ticket-nav:after{top:-11px;left:-10px;right:auto}.ticket-nav:after{top:auto;bottom:-11px}.ticket-nav .button{width:100%;margin:0;padding:11px 12px;font-size:12px}.ticket-main .tiny-label{font-size:8px}.ticket-nav .tiny-label{font-size:7px}.ticket-nav p{font-size:12px}.schedule-layout{gap:60px}.schedule-step{gap:23px;padding-bottom:37px}.schedule-step h3{font-size:23px}.schedule-step p{font-size:12px}.schedule-time{font-size:11px}.feast-illustration img{max-height:350px}.rsvp-paper{padding:37px 42px 43px}.form-field label{font-size:12px}.form-field input,.form-field select,.form-field textarea{padding:12px 14px;font-size:14px}.privacy-note{font-size:10px}.submit-button,.wish-note>p{font-size:13px}.closing-section{padding-top:90px;padding-bottom:32px}.closing-section h2{font-size:43px}.closing-text{font-size:12px}.closing-names{font-size:24px}.closing-details{font-size:11px}.closing-details>span:last-child{font-size:10px}.closing-actions .button{font-size:12px}.top-button{font-size:11px}.lightbox-prev,.lightbox-next{width:48px;height:48px;bottom:50%;transform:translateY(50%)}.lightbox-prev{left:4%}.lightbox-next{right:4%}.lightbox-overlay{padding:75px 90px 45px}}@media (max-width:600px){.story-path:before{left:14px}.story-node,.story-right{width:100%;min-height:auto;margin-left:0;padding:0 0 22px 43px}.story-marker,.story-right .story-marker{top:20px;left:1px;right:auto}.story-paper{padding:18px 19px}.story-paper:after{border-top:0;border-bottom:1px solid #e6e0cf;border-left:1px solid #e6e0cf;border-right:0;top:28px;left:-5px;right:auto}.story-right .story-paper:after{top:28px}.story-paper h3{font-size:19px}.story-paper p{font-size:12px}.story-season{font-size:11px}.gallery-grid{gap:15px}.gallery-photo{padding:6px 6px 0}.gallery-caption{letter-spacing:0;padding:11px 2px 12px;font-size:9px}.schedule-layout{flex-direction:column;gap:21px;display:flex}.schedule-list{width:100%;max-width:420px;padding-left:5px}.schedule-step{gap:20px;padding-bottom:26px}.schedule-step h3{font-size:20px}.schedule-step p{font-size:12px}.feast-illustration{width:min(100%,280px);margin:1px auto 0;padding-bottom:0}.feast-illustration img{max-height:270px}.wishes-grid{grid-template-columns:1fr;gap:15px}.wish-note{padding:21px 22px 17px}.wish-note>p{font-size:12px}.wish-heart{opacity:.6;position:absolute;top:18px;right:19px}.wish-author{margin-top:17px}.notes-list{grid-template-columns:1fr;gap:23px}.guest-note{border-bottom:1px solid #d3d9c455;gap:15px;padding-bottom:21px}.guest-note:last-child{border:0;padding-bottom:0}.guest-note h3{font-size:14px}.guest-note p{margin-top:5px;font-size:11px}.rsvp-paper{padding:25px 23px 29px}.rsvp-paper:before{top:5px;bottom:5px;left:5px;right:5px}.form-row{grid-template-columns:1.2fr 1fr;gap:12px}.map-dialog,.share-dialog{padding:31px 22px 23px}.lightbox-overlay{padding-left:14px;padding-right:14px}.music-toggle{gap:5px;padding-right:9px;font-size:8px}.music-disc{width:27px;height:27px}.section-heading p{max-width:320px;margin-left:auto;margin-right:auto}.venue-date{gap:8px}.ticket-main{padding:30px 23px}.ticket-nav{gap:10px;padding:20px 23px}.ticket-nav .button{padding:10px 12px;font-size:10px}.ticket-nav>svg{width:26px}.ticket-nav .tiny-label{font-size:6px}.ticket-nav p{font-size:10px}.ticket-nav>div{max-width:105px}.event-times strong{font-size:21px}.section-padding{padding-left:22px;padding-right:22px}.notes-section{padding-top:65px;padding-bottom:65px}.closing-section h2{font-size:34px}}@media (max-width:360px){.section-padding{padding-left:18px;padding-right:18px}.hero-content{padding-top:85px;padding-left:14px;padding-right:14px}.hero-kicker{letter-spacing:.6px;font-size:7px}.hero-small-title{margin-top:26px!important}.wedding-hero h1{letter-spacing:4px}.hero-names{gap:14px;font-size:18px}.hero-date{gap:8px;font-size:9px}.couple-stage{width:92vw;height:320px}.countdown-grid{gap:10px}.countdown-unit{flex-basis:66px}.flip-number{height:68px}.flip-number span{font-size:34px}.ticket-nav>svg{display:none}.ticket-nav>div{flex:1;max-width:none}.ticket-nav .button{padding-left:13px;padding-right:13px}.ticket-main{padding-left:21px;padding-right:21px}.venue-date{font-size:11px}.rsvp-paper{padding-left:20px;padding-right:20px}.form-field input,.form-field select{padding-left:10px;padding-right:10px}.form-field input::placeholder{font-size:10px}.closing-section h2{font-size:30px}.closing-actions{gap:14px}.section-heading h2,.countdown-title{font-size:27px}}@media (max-width:759px){.wedding-hero{min-height:100vh;min-height:100svh}.hero-content{padding-top:82px}.hero-small-title{margin-top:22px!important}.couple-stage{height:280px;height:clamp(230px,32svh,300px)}.hero-subtitle{margin-bottom:16px!important}.scroll-cue{margin-top:22px}}@media (max-width:759px) and (max-height:780px){.hero-content{padding-top:66px;padding-bottom:18px}.hero-kicker{font-size:7px}.hero-small-title{font-size:7px;margin-top:17px!important}.wedding-hero h1{margin-top:6px;font-size:42px;line-height:1.35}.hero-names{margin-top:7px;font-size:18px}.hero-date{margin-top:10px}.couple-stage{height:230px;margin-top:8px}.hero-subtitle{font-size:10px;margin-top:4px!important;margin-bottom:14px!important}.hero-start{min-height:43px;padding-top:10px;padding-bottom:10px;font-size:12px}.scroll-cue{margin-top:18px}}@media (prefers-reduced-motion:reduce){.wedding-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-ready [data-reveal]{opacity:1;transform:none}.falling-spatula{display:none}.hero-couple{transform:none}.music-toggle.is-playing .music-disc{animation:none}.gallery-photo,.reveal-ready .gallery-photo.revealed{transform:none!important}}.wedding-site{--hex-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='56' viewBox='0 0 64 56'%3E%3Cpath d='M16 1H48L63 28L48 55H16L1 28Z' fill='none' stroke='%239bad85' stroke-width='1'/%3E%3C/svg%3E");font-family:var(--font-game);font-size:14px;font-weight:400}.wedding-site main>section:not(.wedding-hero){isolation:isolate;position:relative}.wedding-site main>section:not(.wedding-hero):before{content:"";z-index:0;background-image:var(--hex-pattern);opacity:.2;pointer-events:none;background-size:64px 56px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000,#0000 28% 72%,#000);mask-image:linear-gradient(#000,#0000 28% 72%,#000)}.wedding-site .section-inner{z-index:1;min-width:0;position:relative}.game-decoration{pointer-events:none;z-index:0;opacity:.8;-webkit-user-select:none;user-select:none;width:113px;height:96px;position:absolute}.game-decoration *,.game-stars,.synergy-mark{pointer-events:none}.game-hex-cluster{position:absolute;top:0;bottom:0;left:0;right:0}.game-hex-cluster i{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#b8c4a638;width:48px;height:52px;position:absolute}.game-hex-cluster i:first-child{background:#d4bc8d48;top:23px;left:0}.game-hex-cluster i:nth-child(2){top:0;left:38px}.game-hex-cluster i:nth-child(3){background:#d9c6a729;top:48px;left:38px}.game-hex-cluster i:nth-child(4){opacity:.6;top:23px;left:76px}.game-loot-orbit{flex-direction:column;justify-content:center;align-items:center;gap:0;width:66px;height:79px;display:flex;position:absolute;top:2px;left:26px}.game-loot-orbit>img{object-fit:contain;filter:drop-shadow(0 3px 3px #b5914a26);width:57px;height:57px;transform:rotate(-17deg)}.game-stars{color:#c49b4b;justify-content:center;align-items:center;gap:3px;line-height:1;display:inline-flex}.game-stars>svg{filter:drop-shadow(0 1px #f8e5a3);width:13px;height:13px}.game-stars>svg:nth-child(2){width:16px;height:16px;margin-top:-4px}.game-coin{opacity:.85;background:#ecd39e;border:2px solid #c5a56a;border-radius:50%;width:15px;height:15px;position:absolute;box-shadow:inset 0 0 0 2px #f6e9c3,0 2px #cbb586}.coin-one{top:12px;left:4px;transform:rotate(-16deg)}.coin-two{width:11px;height:11px;bottom:4px;right:0;transform:rotate(20deg)}.decor-countdown{top:15px;left:12px;transform:rotate(-8deg)scale(.86)}.decor-story{bottom:19px;right:15px;transform:rotate(10deg)scale(.92)}.decor-gallery{top:12px;right:14px;transform:rotate(9deg)scale(.86)}.decor-information{bottom:14px;left:8px;transform:rotate(-9deg)scale(.85)}.decor-schedule{top:15px;left:8px;transform:rotate(-10deg)scale(.85)}.decor-rsvp{top:12px;right:10px;transform:rotate(10deg)scale(.9)}.decor-wishes{bottom:18px;right:14px;transform:rotate(8deg)scale(.87)}.decor-notes{top:15px;left:10px;transform:rotate(-8deg)scale(.86)}.decor-closing{top:20px;right:14px;transform:rotate(13deg)scale(.9)}.wedding-site .section-heading h2,.wedding-site .countdown-title{font-family:var(--font-game);letter-spacing:2px;font-size:36px;font-weight:400;line-height:1.4}.wedding-site .section-heading p,.wedding-site .section-intro{letter-spacing:.2px;color:#72836e;font-size:14px;line-height:1.85}.wedding-site .chapter-label{font-family:var(--font-game);letter-spacing:1.6px;font-weight:400}.wedding-hero .hero-content{z-index:2}.wedding-hero h1{font-family:var(--font-game);letter-spacing:4px;font-size:48px;font-weight:400}.hero-names{letter-spacing:1px;font-size:24px}.hero-date{letter-spacing:.3px;flex-wrap:wrap;justify-content:center;font-size:14px}.hero-subtitle{letter-spacing:.3px;max-width:360px;font-size:14px;line-height:1.75}.hero-spatulas{z-index:1;opacity:1}.falling-spatula{filter:drop-shadow(0 4px 7px #092d2659);width:60px}.spatula-0{width:64px;animation-duration:8.5s;left:2%}.spatula-1{width:56px;animation-duration:10.5s;left:auto;right:2%}.spatula-2{opacity:1;width:48px;animation-duration:12s;left:12%}.spatula-3{opacity:1;width:60px;animation-duration:9.8s;left:auto;right:12%}.flip-number{background:linear-gradient(#436447 49%,#2d503a 50%);border:1px solid #c7ad70;border-bottom:3px solid #b29452;border-radius:9px;box-shadow:0 5px #234632,0 8px 15px #23492e19}.flip-number span{font-family:var(--font-game);font-size:42px;font-weight:400}.countdown-label{color:#708069;font-size:14px}.countdown-date{font-size:12px;line-height:1.8}.story-section{background:#f7f5e9}.story-path:before{background:repeating-linear-gradient(#baa56b 0 5px,#0000 5px 10px);width:2px}.story-paper{background:linear-gradient(145deg,#fcfbef,#ecf0db);border:2px solid #c7b77f;border-top:5px solid #bc9958;border-radius:9px 9px 4px 4px;box-shadow:0 4px #dbd7b9,0 9px 20px #9287740d}.story-right .story-paper{background:linear-gradient(145deg,#fff7ed,#f4e7db);border-color:#c29a78 #d3b18e #d3b18e;box-shadow:0 4px #e8d8c4,0 9px 20px #9287740d}.synergy-mark{flex-direction:column;align-items:center;gap:7px;width:51px;display:flex;position:absolute;top:13px;right:13px}.synergy-mark>span:first-child{color:#f1ddb1;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,#6a8a64,#3d6351);place-items:center;width:34px;height:36px;display:grid}.synergy-mark .game-stars{gap:2px}.synergy-mark .game-stars>svg{width:10px;height:10px}.synergy-mark .game-stars>svg:nth-child(2){width:12px;height:12px}.story-season{letter-spacing:.4px;color:#a98154;max-width:calc(100% - 55px);font-size:14px}.story-paper h3{font-family:var(--font-game);letter-spacing:.5px;padding-right:51px;font-size:22px;font-weight:400}.story-paper p{color:#7d8874;margin-top:13px;font-size:14px;line-height:1.85}.story-marker{color:#466848;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,#e6d09a,#b59a59);border:0;border-radius:0;width:31px;height:32px;right:-15px}.story-right .story-marker{left:-15px}.gallery-section{background:#e8eedf}.gallery-photo{background:linear-gradient(135deg,#f7f1db,#ece3c1);border-radius:8px;min-width:0;box-shadow:0 4px #c5b788,0 8px 23px #62715b14;border:2px solid #c6ae6a!important;border-top-width:5px!important}.gallery-photo.photo-1{background:linear-gradient(135deg,#f1f5e5,#d8e6d2);box-shadow:0 4px #a5bda2,0 8px 23px #62715b14;border-color:#85ad98!important}.gallery-photo.photo-2{background:linear-gradient(135deg,#f8f0eb,#e9dce5);box-shadow:0 4px #c5b0be,0 8px 23px #62715b14;border-color:#ba9db7!important}.gallery-photo.photo-3{background:linear-gradient(135deg,#faf0df,#ecdcc0);box-shadow:0 4px #ccba9a,0 8px 23px #62715b14;border-color:#d0a77e!important}.gallery-image-wrap{border:1px solid #c4b58b66;border-radius:3px}.gallery-stars{color:#f1d385;background:#203d30e0;border:1px solid #ecd4949c;border-radius:6px;padding:5px 7px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 3px 9px #102d2840}.gallery-caption{letter-spacing:.1px;color:#6a7d63;font-size:12px}.gallery-caption>span:last-child{font-family:var(--font-game);font-size:12px}.sample-tag{padding:3px 6px;font-size:10px}.venue-ticket{background:linear-gradient(135deg,#fff8df,#f5f1db);border:2px solid #c8af72;border-radius:12px;box-shadow:0 5px #d2c299,0 14px 35px #92795a11}.ticket-stamp{box-shadow:none;color:#817546;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#e8d39e;border:0;border-radius:0;width:42px;height:45px}.ticket-main h3{font-family:var(--font-game);letter-spacing:1px;font-size:32px;font-weight:400}.venue-address{color:#7d876c;max-width:100%;font-size:14px;line-height:1.8}.venue-date{gap:8px;font-size:14px}.venue-date strong{font-family:var(--font-game);font-size:20px;font-weight:400}.event-times span{color:#7b896b;font-size:12px}.event-times strong{font-family:var(--font-game);font-size:24px;font-weight:400}.ticket-nav{background:linear-gradient(135deg,#e5edda,#dce6cd);border-color:#c2b071}.ticket-nav p{font-size:14px}.schedule-section{background:#f4f4e6}.schedule-list{background-color:#e7eddc;background-image:var(--hex-pattern);background-size:57px 50px;border:1px solid #c6d0b1;border-radius:12px;padding:20px 18px;box-shadow:inset 0 0 0 5px #f5f5e799}.schedule-list:before{border-color:#bba46b;top:49px;bottom:45px;left:51px}.schedule-step,.schedule-step:last-child{background:linear-gradient(135deg,#f7f7e9,#e5ebd5);border:1px solid #cfbd8e;border-bottom:3px solid #c4b17d;border-radius:7px;gap:14px;margin-bottom:15px;padding:16px 14px;box-shadow:0 3px 8px #617c5208}.schedule-step:last-child{margin-bottom:0}.schedule-step:nth-child(2){background:linear-gradient(135deg,#f7efdf,#eae1ca);border-color:#c8b68d}.schedule-step:nth-child(3){background:linear-gradient(135deg,#f3e9dd,#ead8c5);border-color:#ceaf88}.schedule-number{color:#647047;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,#e8d49d,#d0b273);border:0;border-radius:0;width:37px;height:40px;font-size:13px}.schedule-copy{min-width:0}.schedule-time{letter-spacing:.5px;color:#aa8657;font-size:12px}.schedule-step h3{font-family:var(--font-game);letter-spacing:.5px;font-size:22px;font-weight:400}.schedule-step p{color:#7c896c;font-size:14px;line-height:1.8}.schedule-stars{gap:2px;margin-top:10px}.schedule-stars>svg{width:9px;height:9px}.schedule-stars>svg:nth-child(2){width:11px;height:11px}.feast-circle{background:radial-gradient(circle,#e9d6a780,#dde8cb80 63%,#0000 71%);border:1px dashed #c4ba8f;border-radius:24%;transform:rotate(-8deg)}.rsvp-section{background:#eee4d7}.rsvp-paper{background:linear-gradient(150deg,#fcf8e8,#faf5ec);border:2px solid #c8aa73;border-top:6px solid #ae9462;border-radius:12px;box-shadow:0 5px #d4c1a4,0 14px 35px #9e7c6312}.rsvp-paper:before{border-color:#e2d5b6;border-radius:6px}.form-top{letter-spacing:2px;color:#9d8355;border-bottom:1px solid #dfd0ad;gap:10px;padding-bottom:18px;font-size:14px}.form-top i{background:#d9ca9e;min-width:0}.rsvp-seal{color:#fff7dd;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,#e7cd9a,#c7a875);border-radius:0;width:40px;height:44px}.team-stars{flex-shrink:0}.form-field label{color:#627655;font-size:14px}.form-field label>span,.form-field .field-optional{font-size:12px}.form-field input,.form-field select,.form-field textarea{color:#436044;background:#f6f6e8;border-color:#d2cfb1;border-radius:7px;min-height:48px;padding:12px 13px;font-size:16px;line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#9da58d;font-size:14px}.select-wrap select{padding-right:30px}.select-wrap>svg{top:18px}.form-field textarea{padding-bottom:31px}.form-field .message-counter{font-size:12px;bottom:10px}.field-error,.privacy-note,.preview-form-note,.submission-error{font-size:12px;line-height:1.85}.privacy-note{color:#899279}.rsvp-success h3{font-family:var(--font-game);font-size:32px;font-weight:400}.rsvp-success>p{font-size:14px;line-height:1.85}.success-date{flex-wrap:wrap;font-size:12px}.success-icon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#dbe8c8;border-color:#b8c697;border-radius:0}.wishes-section{background:#f6f1e2}.wish-note{background:linear-gradient(135deg,#f5ecd0,#f1e5c1);border:2px solid #ccb579;border-top:5px solid #b79b61;border-radius:8px;padding-top:23px;box-shadow:0 4px #d6c89e,0 8px 20px #8d85600c}.wish-note.note-1{background:linear-gradient(135deg,#eaf0d8,#dfe8c9);border-color:#799768 #a7bc8d #a7bc8d;box-shadow:0 4px #bdcfa8,0 8px 20px #8d85600c}.wish-note.note-2{background:linear-gradient(135deg,#f3e4d7,#ecdbc8);border-color:#b38c6d #ceab8d #ceab8d;box-shadow:0 4px #d6bda5,0 8px 20px #8d85600c}.wish-heart{color:#ab8f55;opacity:1;margin:0;position:absolute;top:20px;left:22px;right:auto}.wish-stars{position:absolute;top:20px;right:18px}.wish-stars>svg{width:11px;height:11px}.wish-stars>svg:nth-child(2){width:13px;height:13px}.wish-note>p{color:#627657;margin-top:29px;font-size:14px;line-height:1.85}.wish-author{border-color:#bead7d50;font-size:12px}.wish-date{letter-spacing:0;font-size:12px}.wish-avatar{color:#778455;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#ddd1a1;border-radius:0;width:27px;height:29px;font-size:12px}.wishes-empty{color:#909674;background:#eee8d33b;border:1px dashed #baa975;border-radius:10px;font-size:14px}.wishes-empty>a{min-height:44px;padding:6px;font-size:14px}.wishes-error{flex-wrap:wrap;font-size:12px}.wishes-error button{min-width:75px;min-height:44px;padding:8px;font-size:12px}.notes-section{background:#e8eddd}.notes-list{gap:18px}.guest-note,.guest-note:last-child{background:linear-gradient(145deg,#f0f3e3,#e1e9d2);border:1px solid #c4cba7;border-bottom:3px solid #afbd96;border-radius:8px;gap:12px;padding:17px 15px;box-shadow:0 4px 12px #64805309}.guest-note:nth-child(2){background:linear-gradient(145deg,#f5eddc,#e9e1ca);border-color:#cab997}.guest-note:nth-child(3){background:linear-gradient(145deg,#f0e6dc,#e5d6c6);border-color:#ccb096}.guest-note-icon{color:#64805a;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#dfc998;border:0;border-radius:0;width:36px;height:39px}.guest-note h3{letter-spacing:.4px;font-size:18px;font-weight:400}.guest-note p{color:#7b896c;font-size:14px;line-height:1.8}.closing-section{background:linear-gradient(#f8f0da,#e9e4ca)}.closing-flower{z-index:1;color:#9caa78;flex-direction:column;align-items:center;gap:10px;position:relative}.closing-stars{color:#c09b4c}.closing-stars>svg{width:18px;height:18px}.closing-stars>svg:nth-child(2){width:24px;height:24px}.closing-section h2{font-family:var(--font-game);letter-spacing:2px;font-size:40px;font-weight:400}.closing-text{color:#85906f;font-size:14px;line-height:1.85}.closing-names{font-family:var(--font-game);letter-spacing:1px;font-size:25px}.closing-details{letter-spacing:.2px;color:#78876c;font-size:14px}.closing-details>span:last-child{font-size:12px}.button,.hero-start,.closing-actions .button,.ticket-nav .button,.submit-button,.more-wishes,.rsvp-success .button{min-height:46px;font-size:14px;font-weight:400}.button-teal{background:linear-gradient(135deg,#547347,#345b46);box-shadow:0 4px #284c36;border:1px solid #c6b27b!important}.button-coral{background:linear-gradient(135deg,#c98f79,#b87a67);box-shadow:0 4px #986452;border:1px solid #e0bd93!important}.button-outline{background:#f7f1dc66;border-color:#c4b077!important}.music-toggle{min-width:44px;min-height:44px;padding:5px 11px 5px 5px;font-size:12px;border-color:#d1bd83!important}.music-disc{width:32px;height:32px}.music-notice{align-items:center;min-height:44px;font-size:12px;display:flex;top:72px}.scroll-cue{min-width:44px;min-height:44px;font-size:12px}.modal-close,.dialog-close,.lightbox-prev,.lightbox-next{width:44px;min-width:44px;height:44px;min-height:44px}.dialog-close{top:7px;right:7px}.map-dialog h3,.share-dialog h3{font-family:var(--font-game);letter-spacing:1px;font-size:28px;font-weight:400}.dialog-subtitle{font-size:14px}.dialog-address,.map-help,.map-options span,.copy-status{font-size:12px;line-height:1.8}.map-options strong{font-size:16px;font-weight:400}.map-options>a{background:#f1f3e2;border-color:#cdd4b5;min-height:58px}.copy-address,.top-button{min-width:44px;min-height:44px;padding:7px;font-size:12px}.share-dialog>p,.share-dialog>.button{font-size:14px}.share-dialog>.share-url{font-size:12px}.lightbox-content p,.lightbox-count{font-size:14px}@media (min-width:760px){.game-decoration{opacity:.85;width:113px;height:96px}.decor-countdown,.decor-schedule,.decor-notes{left:max(14px,50% - 490px);transform:rotate(-10deg)}.decor-gallery,.decor-rsvp,.decor-closing,.decor-story,.decor-wishes{right:max(14px,50% - 490px);transform:rotate(10deg)}.decor-information{left:max(14px,50% - 490px);transform:rotate(-10deg)}.wedding-site .section-heading h2,.wedding-site .countdown-title{font-size:40px}.hero-date{font-size:14px}.hero-subtitle{max-width:430px;font-size:14px}.gallery-caption{font-size:14px}.schedule-layout{grid-template-columns:1.15fr 1fr;gap:34px}.schedule-step,.schedule-step:last-child{padding:18px 16px}.notes-list{max-width:960px}.notes-section .guest-note{flex-direction:column;gap:7px}.closing-section h2{font-size:44px}}@media (max-width:759px){.section-padding{padding-top:90px;padding-bottom:84px}.section-heading{margin-bottom:35px}.wedding-site .section-heading h2,.wedding-site .countdown-title{font-size:34px}.game-decoration{opacity:.76}.hero-names{font-size:22px}.hero-date{font-size:13px}.hero-subtitle{font-size:14px}.hero-start{min-height:46px;font-size:14px}.hero-kicker{letter-spacing:.7px;max-width:95%}.story-paper{padding:20px 18px 19px}.story-paper h3{padding-right:45px;font-size:22px}.story-right .story-marker,.story-marker{left:-1px;right:auto}.gallery-grid{gap:16px}.gallery-caption{padding:13px 2px;font-size:12px}.ticket-main{padding:32px 23px}.ticket-main h3{font-size:32px}.ticket-nav{gap:11px;padding:21px}.ticket-nav>div{flex:1;max-width:none}.ticket-nav .button{width:100%;margin-left:0;padding:11px 18px;font-size:14px}.ticket-nav p{font-size:14px}.ticket-nav>svg{width:31px;display:block}.schedule-list{padding:17px 13px}.schedule-list:before{left:46px}.schedule-step,.schedule-step:last-child{gap:12px;padding:16px 12px}.schedule-layout{gap:26px}.rsvp-paper{padding:27px 23px 32px}.form-row{grid-template-columns:1.2fr 1fr;gap:12px}.form-row>.form-field{min-width:0}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-field input::placeholder,.form-field textarea::placeholder{font-size:14px}.wish-note{padding:23px 22px 19px}.wishes-grid,.notes-list{gap:18px}.notes-section{padding-top:90px;padding-bottom:84px}.closing-section{padding-top:85px}.closing-section h2{font-size:36px}.closing-actions{gap:12px}.closing-actions .button,.closing-details{font-size:14px}.music-toggle{right:12px}.music-toggle.in-preview{top:48px}.countdown-grid{gap:10px}.flip-number span{font-size:clamp(32px,9vw,38px)}.countdown-date{font-size:12px}.map-dialog,.share-dialog{padding-top:40px}}@media (max-width:360px){.spatula-0{width:52px;left:-12px}.spatula-1{width:52px;right:-12px}.spatula-2{width:48px;left:1px}.spatula-3{width:48px;right:1px}.game-decoration{opacity:.76;transform:scale(.76)}.decor-countdown,.decor-schedule,.decor-notes{top:8px;left:2px}.decor-gallery,.decor-rsvp{top:6px;right:3px}.decor-closing{top:14px;right:-4px}.decor-story,.decor-wishes{bottom:9px;right:3px}.decor-information{bottom:9px;left:3px}.wedding-hero h1{letter-spacing:3px;font-size:44px}.hero-names{gap:12px;font-size:21px}.hero-date{gap:7px;font-size:12px}.hero-subtitle{letter-spacing:0;max-width:280px;font-size:14px}.hero-kicker{letter-spacing:.3px;font-size:7px}.wedding-site .section-heading h2,.wedding-site .countdown-title{letter-spacing:1px;font-size:32px}.story-paper{padding:19px 16px}.story-paper h3{font-size:20px}.story-season,.story-paper p{font-size:14px}.synergy-mark{width:45px;right:9px}.gallery-photo{padding:5px 5px 0}.gallery-caption{gap:3px;font-size:12px}.gallery-caption>span:last-child{font-size:10px}.gallery-stars{gap:2px;padding:4px 5px;bottom:10px}.gallery-stars>svg{width:11px;height:11px}.gallery-stars>svg:nth-child(2){width:14px;height:14px}.sample-tag{font-size:9px}.ticket-main{padding-left:20px;padding-right:20px}.venue-date{font-size:13px}.event-times{gap:7px}.event-times span{font-size:12px}.event-times strong{font-size:23px}.rsvp-paper{padding-left:20px;padding-right:20px}.form-field input,.form-field select{padding-left:10px;font-size:16px}.form-field input::placeholder{font-size:14px}.form-top{letter-spacing:1px;gap:8px}.team-stars{gap:2px}.team-stars>svg{width:11px;height:11px}.team-stars>svg:nth-child(2){width:13px;height:13px}.closing-section h2{letter-spacing:1px;font-size:32px}.closing-names{gap:12px;font-size:22px}.closing-actions{flex-wrap:wrap;gap:11px}.closing-details>span:first-child{overflow-wrap:anywhere;max-width:100%}.lightbox-overlay{padding-left:12px;padding-right:12px}}.preview-banner{font-size:12px}@media (min-width:601px){.notes-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.wedding-site .music-notice{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);text-align:center;width:max-content;max-width:calc(100vw - 32px);line-height:1.65;left:50%;right:auto;transform:translate(-50%)}.wedding-site .section-entrance{position:relative}.wedding-site .entrance-component.component-entering{animation:wedding-component-appear .72s cubic-bezier(.22, .8, .28, 1) var(--entrance-delay,0s) both}@keyframes wedding-component-appear{0%{opacity:.22}45%{opacity:1}to{opacity:1}}@supports (translate:0 1px){@keyframes wedding-component-appear{0%{opacity:.22;translate:0 18px;rotate:x 6deg;scale:.975}68%{opacity:1;translate:0 -3px;rotate:x 0deg;scale:1.006}to{opacity:1;translate:0;rotate:none;scale:1}}}.wedding-site .section-summon{z-index:3;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:190px;height:92px;margin-left:-95px;position:absolute;top:74px;left:50%}.wedding-site .wedding-hero>.section-summon{top:156px}.wedding-site .countdown-section>.section-summon{top:58px}.wedding-site .closing-section>.section-summon{top:172px}.wedding-site .section-summon:before,.wedding-site .section-summon:after{content:"";pointer-events:none;position:absolute}.wedding-site .section-summon:before{border:1px solid #e0bd73;border-radius:50%;top:16px;bottom:7px;left:22px;right:22px;transform:scale(.66)rotateX(58deg);box-shadow:0 0 8px #e5c37655,inset 0 0 7px #e5c37633}.wedding-site .section-summon:after{background:radial-gradient(circle at 15% 65%,#f0d78b 0 2px,#0000 3px),radial-gradient(circle at 31% 18%,#e7c970 0 1.4px,#0000 2.4px),radial-gradient(circle at 51% 6%,#efcf77 0 2px,#0000 3px),radial-gradient(circle at 69% 24%,#efd596 0 1.4px,#0000 2.4px),radial-gradient(circle at 87% 60%,#e9c578 0 2px,#0000 3px),radial-gradient(circle at 63% 91%,#e3bd63 0 1.4px,#0000 2.4px);top:0;bottom:0;left:0;right:0}.wedding-site .section-summon.summon-entering{animation:.85s ease-out both wedding-summon}.wedding-site .section-summon.summon-entering:before{animation:.85s ease-out both wedding-summon-ring}.wedding-site .section-summon.summon-entering:after{animation:.85s ease-out both wedding-summon-particles}@keyframes wedding-summon{0%{opacity:0}18%{opacity:.85}to{opacity:0}}@keyframes wedding-summon-ring{0%{transform:scale(.6)rotateX(58deg)}to{transform:scale(1.35)rotateX(58deg)}}@keyframes wedding-summon-particles{0%{transform:translateY(12px)scale(.65)}to{transform:translateY(-16px)scale(1.22)}}@media (min-width:760px){.wedding-site .section-summon{top:86px}.wedding-site .wedding-hero>.section-summon{top:172px}.wedding-site .countdown-section>.section-summon{top:74px}}@media (prefers-reduced-motion:reduce){.wedding-site .entrance-component.component-entering{opacity:1;animation:none!important}.wedding-site .section-summon{display:none}}.wedding-site .wedding-hero[data-hero-scene=wedding-board]{color:#fff6dc;background:#701e32}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-background{opacity:1}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-shade{background:linear-gradient(#45132236 0%,#601a2914 29%,#0000 48%,#5c15220a 72%,#5c152233 100%)}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-top:max(76px, calc(env(safe-area-inset-top) + 64px))}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-kicker{color:#f7daa5;text-shadow:0 1px 7px #49142355}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-small-title{color:#f4ddb6;opacity:.82;text-shadow:0 1px 7px #49142355}.wedding-site .wedding-hero[data-hero-scene=wedding-board] h1{color:#fff5da;text-shadow:0 3px 13px #4e152b88,0 1px #e2bd81}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-names{color:#fff5db;text-shadow:0 2px 9px #52152980}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .name-heart{color:#f4caa5}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-date{color:#ffebc8;text-shadow:0 1px 5px #53192b55;background:#5c1b2c48;border:1px solid #f4d59b40;border-radius:24px;max-width:100%;padding:4px 13px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-date i{background:#f5d49b77}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-stage{isolation:isolate;width:min(94vw,430px);height:320px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-glow{filter:blur(17px);background:radial-gradient(at 50% 47%,#254e5a9c 0%,#344c5c70 37%,#38425230 61%,#0000 76%);width:96%;height:88%}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-couple{filter:saturate(1.06)contrast(1.04)drop-shadow(0 0 2px #fff8e9f2)drop-shadow(0 0 5px #fff3dc70)drop-shadow(0 12px 10px #1538469c)}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-petal{color:#fff0ba;text-shadow:0 0 9px #c78956,0 1px 2px #813c31}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-subtitle{color:#ffedc9;box-shadow:none;text-shadow:0 1px 4px #48152bee,0 2px 8px #521d3380;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;margin:7px 0 0!important}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero{--theme-border:#e4c080;--theme-accent:#f3cd87;--theme-ink:#fff2d1;--theme-muted:#f4d8b7;background:linear-gradient(135deg,#842c40ed,#602234ed);border-bottom-color:#ae7147;box-shadow:0 4px #773e3355,inset 0 0 0 4px #f8e7bc0a}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero:before{border-color:#f5dca741}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero .game-theme-aura{opacity:.1}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-start{color:#fff1ce;background:linear-gradient(135deg,#ab3c50,#85283c);box-shadow:0 5px #692436,0 9px 19px #894a3329;border-color:#ffe0a4!important}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-start:active{box-shadow:0 2px #692436}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-start:focus-visible{outline-color:#fff0bf}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .scroll-cue:focus-visible{outline-color:#fff0bf}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .scroll-cue{color:#fff0ce;text-shadow:0 1px 4px #51172a55;background:#65203399;border-radius:20px;margin-top:19px;padding:4px 14px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-fireflies i{background:#fff2c7;box-shadow:0 0 8px #edc887}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .falling-spatula{filter:drop-shadow(0 3px 5px #6b2a2c40)}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-bottom-line{opacity:.82;background:linear-gradient(90deg,#0000,#ffe2a3,#0000)}@media (min-width:760px){.wedding-site .wedding-hero[data-hero-scene=wedding-board]{min-height:1020px;max-height:none}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-top:max(84px, calc(env(safe-area-inset-top) + 64px));padding-bottom:35px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-shade{background:radial-gradient(380px 255px at 50% 12%,#4f102aeb 0%,#681d35c4 45%,#681d3500 100%),linear-gradient(#661d351a,#0000 47%,#5c15220a 75%,#5c152238)}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-stage{width:min(88vw,520px);height:392px;margin-top:17px}}@media (max-width:360px){.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-left:14px;padding-right:14px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-date{letter-spacing:0;gap:7px;padding:4px 10px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-subtitle{max-width:100%}}@media (max-width:759px) and (max-height:850px){.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-top:max(66px, calc(env(safe-area-inset-top) + 55px));padding-bottom:max(14px, env(safe-area-inset-bottom))}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-small-title{display:none}.wedding-site .wedding-hero[data-hero-scene=wedding-board] h1{margin-top:13px;line-height:1.38}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-names{margin-top:7px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-date{margin-top:11px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-stage{height:280px;margin-top:8px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-subtitle{margin-top:6px!important;margin-bottom:0!important}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero{min-height:82px;margin-top:2px;margin-bottom:11px;padding-top:5px;padding-bottom:5px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero .game-theme-visual{height:64px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-start{padding-top:10px;padding-bottom:10px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .scroll-cue{margin-top:10px;padding-top:2px;padding-bottom:2px}}@media (max-width:360px) and (max-height:850px){.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-top:max(62px, calc(env(safe-area-inset-top) + 55px))}.wedding-site .wedding-hero[data-hero-scene=wedding-board] h1{margin-top:10px;line-height:1.3}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-stage{height:255px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-subtitle{margin-top:4px!important}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .theme-section-hero{margin-bottom:8px}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .scroll-cue{margin-top:6px}}@media (max-height:540px) and (orientation:landscape){.wedding-site .wedding-hero[data-hero-scene=wedding-board]{min-height:880px;max-height:none}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-content{padding-top:max(72px, calc(env(safe-area-inset-top) + 58px));padding-bottom:max(25px, env(safe-area-inset-bottom))}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-shade{background:radial-gradient(330px 260px at 50% 12%,#57182bdb,#6d1f3299 45%,#0000),linear-gradient(#6a263428,#0000 56%,#5c15222b)}.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-date{font-size:13px}}@media (prefers-reduced-motion:reduce){.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-couple,.wedding-site .wedding-hero[data-hero-scene=wedding-board] .couple-petal,.wedding-site .wedding-hero[data-hero-scene=wedding-board] .hero-fireflies i,.wedding-site .wedding-hero[data-hero-scene=wedding-board] .scroll-cue svg{animation:none}}.wedding-hero[data-hero-scene=wedding-board] .hero-background-frame{pointer-events:none;display:block;position:absolute;top:0;bottom:0;left:0;right:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#214e49;background:#fbf8f1;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}a{color:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #bb9760}a:focus-visible{outline-offset:3px;outline:3px solid #bb9760}input:focus-visible{outline-offset:3px;outline:3px solid #bb9760}textarea:focus-visible{outline-offset:3px;outline:3px solid #bb9760}select:focus-visible{outline-offset:3px;outline:3px solid #bb9760}::selection{color:#17453f;background:#f1d1c6}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:ZCOOL KuaiLe;src:url(/fonts/zcool-kuaile.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2)format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}:root{--font-game:"Nunito","ZCOOL KuaiLe","PingFang SC","Microsoft YaHei",sans-serif}body{font-family:var(--font-game)}
