@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Sarabun:ital,wght@0,200;0,300;0,400;0,500;0,600;1,200;1,300;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&display=swap";:root{--rose-gold:#e5a9a9;--rose-gold-light:#f7e5e5;--rose-gold-dark:#b87575;--champagne:#dec5a1;--champagne-light:#f4efe6;--ivory:#fdfbf7;--ivory-dark:#f4edd8;--peach-gold:#f4d0b8;--peach-gold-light:#fae9dd;--sky:var(--champagne);--sky-light:var(--ivory);--sunset-pink:var(--rose-gold);--sunset-pink-lt:var(--rose-gold-light);--sunset-peach:var(--peach-gold);--sunset-peach-lt:var(--peach-gold-light);--ocean-teal:#dfcaaa;--ocean-teal-lt:#f5eee0;--sand:var(--champagne-light);--sand-light:var(--ivory);--cream:var(--ivory);--cream-dark:var(--ivory-dark);--rose:var(--rose-gold);--rose-light:var(--rose-gold-light);--gold:#c9a96e;--gold-light:#dec5a1;--gold-dark:#a2834b;--gold-shimmer:#f4efe6;--gold-gradient:linear-gradient(135deg, #c9a96e 0%, #dec5a1 50%, #c9a96e 100%);--gold-gradient-h:linear-gradient(90deg, #c9a96e 0%, #dec5a1 50%, #c9a96e 100%);--rose-gradient:linear-gradient(135deg, var(--rose-gold) 0%, var(--peach-gold) 100%);--wax-gradient:linear-gradient(135deg, #e5a9a9 0%, #d48f8f 50%, #e5a9a9 100%);--text-dark:#473c38;--text-mid:#7a6b66;--text-light:#ab9d98;--text-white:#fff;--glass-bg:#fdfbf7a6;--glass-bg-dense:#fdfbf7d9;--glass-border:#e5a9a959;--glass-blur:16px;--shadow-sm:0 4px 12px #473c380a;--shadow-md:0 8px 24px #473c380f;--shadow-lg:0 16px 48px #473c3814;--shadow-xl:0 24px 64px #473c381a;--shadow-gold:0 8px 32px #c9a96e40;--shadow-glow:0 0 24px #e5a9a966;--border-gold:1px solid #c9a96e59;--border-gold-s:1px solid #c9a96e2e;--radius-sm:10px;--radius-md:20px;--radius-lg:30px;--radius-xl:40px;--radius-full:9999px;--section-px:20px;--section-py:64px;--ease-elegant:cubic-bezier(.25, .46, .45, .94);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--text-dark);background-color:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sarabun,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16.5px;font-weight:400;line-height:1.75;overflow-x:hidden}.font-serif{font-family:Playfair Display,Georgia,serif}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}input,select,textarea{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}.app-wrapper{background:linear-gradient(180deg, var(--sky-light) 0%, var(--cream) 30%, var(--sand-light) 100%);justify-content:center;width:100%;min-height:100dvh;display:flex}.page-container{background-color:#fdfdfb;background-image:radial-gradient(circle at 10% 5%,#ffebeb73 0%,#0000 25%),radial-gradient(circle at 90% 12%,#d7f0fa80 0%,#0000 30%),radial-gradient(circle at 20% 25%,#fff2e673 0%,#0000 35%),radial-gradient(circle at 80% 40%,#f8eede73 0%,#0000 30%),radial-gradient(circle at 15% 60%,#ffebeb73 0%,#0000 35%),radial-gradient(circle at 85% 75%,#d7f0fa80 0%,#0000 30%),radial-gradient(circle at 50% 90%,#fff2e673 0%,#0000 35%),none;background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;width:100%;min-height:100svh;position:relative}.page-container:before{content:"";pointer-events:none;z-index:0;opacity:.65;will-change:opacity;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cpath d='M50 30 L52 45 L67 47 L52 49 L50 64 L48 49 L33 47 L48 45 Z' fill='%23dec5a1' opacity='0.5'/%3E%3Cpath d='M220 80 L221 90 L231 91 L221 92 L220 102 L219 92 L209 91 L219 90 Z' fill='%23dec5a1' opacity='0.3'/%3E%3Cpath d='M110 200 L111 212 L123 213 L111 214 L110 226 L109 214 L97 213 L109 212 Z' fill='%23dec5a1' opacity='0.4'/%3E%3Cpath d='M250 240 L251 248 L259 249 L251 250 L250 258 L249 250 L241 249 L249 248 Z' fill='%23dec5a1' opacity='0.5'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:10s ease-in-out infinite background-sparkle;position:absolute;inset:0}.page-container::-webkit-scrollbar{display:none}.opening-screen{z-index:9999;background-color:var(--cream);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.opening-bg{background:radial-gradient(circle at 50% 45%, var(--cream) 0%, var(--sunset-peach-lt) 35%, var(--rose-light) 70%, var(--sunset-pink-lt) 100%);z-index:0;position:absolute;inset:0}.opening-bg:after{content:"";background:radial-gradient(circle at 20% 30%,#b6dde833 0%,#0000 60%),radial-gradient(circle at 80% 70%,#c9a96e1f 0%,#0000 60%);position:absolute;inset:0}.envelope-wrapper{perspective:1200px;z-index:2;width:94%;max-width:540px;height:350px;transition:all .9s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-container{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s var(--ease-elegant);animation:6s ease-in-out infinite float-3d;position:relative}.envelope-back{box-shadow:var(--shadow-xl), 0 20px 40px #473c3814;z-index:1;background-color:#0000;background-image:linear-gradient(90deg,#e5a9a90d 50%,#0000 50%),linear-gradient(#e5a9a90d 50%,#0000 50%),linear-gradient(145deg,#fdfcf7 0%,#f7f1e3 100%);background-position:0 0;background-repeat:repeat;background-size:4px 4px,4px 4px,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #e5a9a959;border-radius:16px;transition:opacity .6s;position:absolute;inset:0;overflow:hidden}.envelope-lining{clip-path:polygon(0 0,100% 0,100% 85%,0 85%);background:linear-gradient(#b6dde840,#f2b5b026,#c9a96e0d);border-bottom:1px dashed #c9a96e26;position:absolute;inset:0}.envelope-card{z-index:2;background:0 0;height:88%;transition:all .9s cubic-bezier(.16,1,.3,1);position:absolute;bottom:5%;left:0;right:0;transform:translateY(0)translateZ(0)}.real-card-image{object-fit:contain;width:100%;height:100%;display:block}.card-content-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;transition:all .9s cubic-bezier(.16,1,.3,1);display:flex}.card-sub-label{letter-spacing:.25em;color:var(--gold);opacity:0;text-transform:uppercase;height:0;margin:0;font-family:Sarabun,sans-serif;font-size:10px;font-weight:500;transition:all .9s cubic-bezier(.16,1,.3,1);overflow:hidden}.card-names-group{flex-direction:column;align-items:center;transition:all .9s cubic-bezier(.16,1,.3,1);display:flex}.card-monogram{letter-spacing:.1em;color:var(--gold);font-family:Playfair Display,serif;font-size:28px;font-weight:500;transition:all .9s cubic-bezier(.16,1,.3,1)}.card-names{color:var(--text-dark);text-align:center;white-space:nowrap;margin:4px 0;font-family:Great Vibes,cursive;font-size:30px;line-height:1.2;transition:all .9s cubic-bezier(.16,1,.3,1)}.card-date{color:var(--text-mid);letter-spacing:.05em;font-family:Cormorant Garamond,serif;font-size:14px;font-style:italic;font-weight:500;transition:all .9s cubic-bezier(.16,1,.3,1)}.card-divider{opacity:.3;align-items:center;gap:8px;margin:4px 0;transition:all .9s cubic-bezier(.16,1,.3,1);display:flex}.divider-line-gold{background:var(--gold);width:28px;height:1px}.divider-star{color:var(--gold);font-size:10px}.card-venue-group{flex-direction:column;align-items:center;transition:all .9s cubic-bezier(.16,1,.3,1);display:flex}.card-venue{color:var(--text-light);letter-spacing:.05em;text-align:center;font-family:Sarabun,sans-serif;font-size:11.5px;font-weight:400;line-height:1.6;transition:all .9s cubic-bezier(.16,1,.3,1)}.card-enter-btn{opacity:0;pointer-events:none;background:var(--gold-gradient);color:#fff;letter-spacing:.15em;text-transform:uppercase;border-radius:var(--radius-full);height:0;box-shadow:var(--shadow-gold), 0 4px 15px #c9a96e4d;border:none;margin-top:0;padding:0 32px;font-family:Sarabun,sans-serif;font-size:14px;font-weight:500;transition:all .8s cubic-bezier(.16,1,.3,1);overflow:hidden}.card-enter-btn:active{transform:scale(.96)}.envelope-front{z-index:3;pointer-events:none;transition:opacity .6s;position:absolute;inset:0}.flap-bottom{clip-path:polygon(0 38%,50% 68%,100% 38%,100% 100%,0 100%);z-index:3;background-color:#0000;background-image:linear-gradient(90deg,#e5a9a90d 50%,#0000 50%),linear-gradient(#e5a9a90d 50%,#0000 50%),linear-gradient(#fdfcf7 0%,#f7f1e3 100%);background-position:0 0;background-repeat:repeat;background-size:4px 4px,4px 4px,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #e5a9a940;border-bottom-right-radius:16px;border-bottom-left-radius:16px;position:absolute;inset:-1px}.envelope-top{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:4;background-color:#0000;background-image:linear-gradient(90deg,#e5a9a90d 50%,#0000 50%),linear-gradient(#e5a9a90d 50%,#0000 50%),linear-gradient(#fdfcf7 0%,#f7f1e3 100%);background-position:0 0;background-repeat:repeat;background-size:4px 4px,4px 4px,auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-top-left-radius:16px;border-top-right-radius:16px;height:60%;transition:transform .8s cubic-bezier(.25,1,.5,1),z-index .8s,opacity .6s;position:absolute;top:-1px;left:-1px;right:-1px}.envelope-seal{background:var(--wax-gradient);cursor:pointer;z-index:5;width:52px;height:52px;box-shadow:var(--shadow-glow), 0 4px 15px #e5a9a966;transition:transform .4s var(--ease-bounce), opacity .3s;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)scale(1)}.envelope-seal:after{content:"♡";color:#fff;text-shadow:0 1px 2px #0000001a;margin-top:-2px;font-size:24px}.envelope-container.opened .envelope-top{z-index:1;transform:rotateX(180deg)}.envelope-container.opened .envelope-seal{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(0)}.envelope-container.opened .envelope-card{z-index:5;animation:2s cubic-bezier(.16,1,.3,1) forwards luxury-glow;transform:translateY(-56%)translateZ(60px)scale(1.08)}@keyframes luxury-glow{0%{filter:drop-shadow(0 0 #c9a96e00)}40%{filter:drop-shadow(0 0 25px #c9a96ecc)drop-shadow(0 0 50px #ffffff80)}to{filter:drop-shadow(0 15px 30px #3a353033)}}.opening-cta{background:var(--gold-gradient);color:#fff;letter-spacing:.15em;text-transform:uppercase;border-radius:var(--radius-full);box-shadow:var(--shadow-gold), 0 4px 15px #c9a96e4d;transition:transform .3s var(--ease-bounce), box-shadow .3s;z-index:4;padding:14px 44px;font-family:Sarabun,sans-serif;font-size:14px;font-weight:500;animation:2s ease-in-out infinite pulse-gold}.opening-cta:active{transform:scale(.96)}@keyframes float-3d{0%,to{transform:translateY(0)rotateX(12deg)rotateY(-10deg)scale(1.02)}50%{transform:translateY(-24px)rotateX(-6deg)rotateY(12deg)scale(1)}}.particle{background:var(--gold-shimmer);opacity:0;pointer-events:none;border-radius:50%;width:4px;height:4px;animation:4s ease-in-out infinite float-particle;position:absolute}.particle:first-child{animation-duration:3.5s;animation-delay:0s;top:15%;left:10%}.particle:nth-child(2){animation-duration:4.2s;animation-delay:.5s;top:25%;left:85%}.particle:nth-child(3){animation-duration:3.8s;animation-delay:1s;top:60%;left:15%}.particle:nth-child(4){animation-duration:4.5s;animation-delay:1.5s;top:70%;left:80%}.particle:nth-child(5){animation-duration:3.2s;animation-delay:2s;top:40%;left:25%}.particle:nth-child(6){animation-duration:4s;animation-delay:2.5s;top:50%;left:70%}.particle:nth-child(7){animation-duration:3.6s;animation-delay:3s;top:80%;left:40%}.particle:nth-child(8){animation-duration:4.4s;animation-delay:3.5s;top:20%;left:55%}@keyframes float-particle{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:.8}50%{opacity:.6;transform:translateY(-30px)scale(1)}80%{opacity:.3}to{opacity:0;transform:translateY(-60px)scale(.3)}}@keyframes pulse-gold{0%,to{box-shadow:var(--shadow-gold), 0 0 0 0 #c9a96e4d}50%{box-shadow:var(--shadow-gold), 0 0 0 10px #c9a96e00}}.hero-monogram-logo{letter-spacing:.05em;color:var(--gold-light);-webkit-backdrop-filter:blur(4px);background:#fdfbf71f;border:1px solid #dec5a159;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:4px;font-family:Playfair Display,serif;font-size:16px;font-weight:400;animation:4s ease-in-out infinite gentle-glow;display:flex;box-shadow:0 0 15px #e5a9a933}.hero-section{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;flex-direction:column;justify-content:flex-end;height:100svh;display:flex;position:relative;overflow:hidden}.hero-photo-bg{object-fit:cover;object-position:center 30%;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{z-index:1;background:radial-gradient(at 50% 45%,#0000 15%,#473c3859 90%),linear-gradient(#0000 45%,#473c3833 70%,#473c38b3 100%),linear-gradient(#e5a9a926 0%,#0000 40%);position:absolute;inset:0}.hero-content{z-index:10;padding:0 var(--section-px) 48px;text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.hero-tagline{text-transform:uppercase;letter-spacing:.4em;color:var(--gold-light);margin-bottom:4px;font-family:Sarabun,sans-serif;font-size:10px;font-weight:400}.hero-names-script{color:var(--text-white);text-shadow:0 2px 20px #0003,0 0 40px #c9a96e1a;font-family:Great Vibes,cursive;font-size:clamp(54px,10vw,72px);line-height:1.15}.hero-ampersand{color:var(--gold-light);margin:-4px 0;font-family:Cormorant Garamond,serif;font-size:28px;font-style:italic;font-weight:300;display:block}.hero-date-badge{-webkit-backdrop-filter:blur(var(--glass-blur));background:#ffffff14;border-top:1px solid #c9a96e66;border-bottom:1px solid #c9a96e66;align-items:center;gap:12px;margin-top:8px;padding:10px 24px;display:inline-flex}.hero-date{letter-spacing:.3em;color:var(--text-white);font-family:Sarabun,sans-serif;font-size:18px;font-weight:400}.hero-hashtag{text-transform:uppercase;letter-spacing:.25em;color:var(--gold-light);opacity:.8;margin-top:4px;font-family:Sarabun,sans-serif;font-size:9px;font-weight:400}.scroll-indicator{opacity:.6;flex-direction:column;align-items:center;gap:6px;margin-top:20px;animation:2.5s ease-in-out infinite bounce-soft;display:flex}.scroll-mouse{border:1.5px solid #ffffff80;border-radius:10px;justify-content:center;width:20px;height:32px;display:flex;position:relative}.scroll-mouse-dot{background:#ffffffb3;border-radius:2px;width:3px;height:6px;margin-top:6px;animation:2s ease-in-out infinite scroll-dot}.scroll-text{letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;font-size:8px}@keyframes scroll-dot{0%{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero-rsvp-btn{text-transform:uppercase;letter-spacing:.22em;cursor:pointer;text-shadow:0 1px #fff9;background:linear-gradient(135deg,#dfbc8c 0%,#fae6c8 50%,#c99e69 100%);border:1.5px solid #fffffff2;border-radius:9999px;justify-content:center;align-items:center;gap:10px;padding:14px 40px;font-family:Sarabun,sans-serif;font-size:14px;font-weight:700;transition:all .35s cubic-bezier(.16,1,.3,1);animation:3s ease-in-out infinite alternate hero-btn-glow;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 30px #c99e698c,0 3px 12px #00000047,inset 0 1px 2px #ffffffe6;color:#2b221d!important}.hero-rsvp-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:100%;height:100%;transition:all .5s;animation:3.5s infinite hero-btn-shimmer;position:absolute;top:0;left:-100%}.hero-rsvp-btn:hover{background:linear-gradient(135deg,#fae6c8 0%,#fff 50%,#dfbc8c 100%);transform:translateY(-2px)scale(1.05);box-shadow:0 12px 35px #c99e69cc,0 4px 15px #00000059,inset 0 1px 2px #fff}.hero-rsvp-btn:active{transform:translateY(1px)scale(.97)}@keyframes hero-btn-glow{0%{box-shadow:0 6px 20px #c99e6973,0 0 #fae6c873}to{box-shadow:0 10px 32px #c99e69bf,0 0 0 8px #fae6c800}}@keyframes hero-btn-shimmer{0%{left:-100%}20%,to{left:100%}}.section{padding:100px var(--section-px) 80px;scroll-snap-align:none;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:stretch;min-height:100svh;display:flex;position:relative;overflow:visible}.section-title{color:var(--text-dark);text-align:center;margin-bottom:10px;font-family:Playfair Display,serif;font-size:33px;font-weight:500;line-height:1.3}.section-subtitle{color:var(--text-light);text-align:center;letter-spacing:.05em;font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:400;line-height:1.6}.section-label{text-transform:uppercase;letter-spacing:.28em;color:var(--gold);text-align:center;margin-bottom:10px;font-family:Sarabun,sans-serif;font-size:12.5px;font-weight:600;display:block}.divider{justify-content:center;align-items:center;gap:12px;padding:24px 0;display:flex}.divider-line{background:linear-gradient(90deg, transparent 0%, var(--gold-light) 50%, transparent 100%);opacity:.4;flex:1;height:1px}.divider-icon{color:var(--gold);opacity:.6;flex-shrink:0;font-size:14px}.invitation-section{padding:var(--section-py) var(--section-px);background:0 0}.invitation-card{-webkit-backdrop-filter:none;text-align:center;box-shadow:none;background:0 0;border:none;width:100%;max-width:460px;margin-left:auto;margin-right:auto;padding:32px 20px 24px;position:relative;overflow:visible}.invitation-card:before,.invitation-card:after{display:none!important}.invitation-monogram{color:var(--gold);z-index:1;margin-bottom:6px;font-family:Playfair Display,serif;font-size:62px;font-weight:400;line-height:1;position:relative}.invitation-date-label{letter-spacing:.18em;color:var(--text-light);margin-bottom:20px;font-family:Sarabun,sans-serif;font-size:16px;font-weight:400}.parents-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:20px;display:grid}.parent-name{color:var(--text-mid);font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:500;line-height:1.6}.parents-and{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:19px;font-style:italic}.invitation-text{color:var(--text-mid);margin-bottom:26px;font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:400;line-height:2.1}.couple-names-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:24px;display:grid}.name-script{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-size:40px;font-style:italic;font-weight:500;line-height:1.2}.name-full{color:var(--text-light);letter-spacing:.05em;margin-top:4px;font-family:Sarabun,sans-serif;font-size:15px;font-weight:400}.name-nickname{color:var(--gold);font-weight:500}.infinity-icon{color:var(--gold);font-size:30px;animation:2.5s ease-in-out infinite heartbeat}.venue-text{color:var(--text-mid);font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:400;line-height:1.9}.nowrap-text{white-space:nowrap;max-width:100%;display:inline-block}@media (width<=580px){.invitation-card{box-sizing:border-box!important;max-width:100%!important;padding:24px 10px 20px!important;overflow:hidden!important}.parents-row{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:16px!important}.parents-and{margin:2px 0!important;font-size:16px!important}.parent-name{font-size:15px!important;line-height:1.6!important}.invitation-text{font-size:15px!important;line-height:1.9!important}.couple-names-row{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:20px!important}.name-script{font-size:32px!important}.name-full{font-size:14.5px!important}.infinity-icon{font-size:24px!important}.venue-text{font-size:15px!important;line-height:1.7!important}.nowrap-text{white-space:normal!important;word-break:keep-all!important}}.couple-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0}.couple-row{justify-content:center;align-items:center;gap:16px;width:100%;max-width:440px;margin-top:8px;margin-left:auto;margin-right:auto;display:flex}.couple-block{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.couple-photo-frame{background:radial-gradient(circle,#ffffffe6 0%,#fdf8f299 80%,#0000 100%);border:2px solid #d4af37a6;border-radius:50%;width:96px;height:96px;margin:0 auto 10px;padding:3px;position:relative;overflow:hidden;box-shadow:0 4px 15px #473c3814,0 0 0 2px #dec5a14d}.couple-photo-frame img{object-fit:cover;z-index:1;mix-blend-mode:multiply;filter:saturate(1.14)contrast(1.04)brightness(1.02);border-radius:50%;width:100%;height:100%;position:relative}.couple-nickname{color:var(--text-dark);text-shadow:0 1px 4px #ffffffe6;margin-bottom:2px;font-family:Cormorant Garamond,serif;font-size:30px;font-style:italic;font-weight:500;line-height:1.2}.couple-role{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);text-shadow:0 1px 3px #ffffffe6;margin-bottom:6px;font-family:Sarabun,sans-serif;font-size:11px;font-weight:600}.couple-name-thai{color:var(--text-dark,#332b29);white-space:nowrap;text-overflow:clip;text-align:center;text-shadow:0 1px 3px #ffffffe6;letter-spacing:-.01em;width:100%;font-family:Sarabun,sans-serif;font-size:clamp(10.5px,2.75vw,14.5px);font-weight:500;line-height:1.4;overflow:visible}.couple-parents{color:var(--text-mid);text-shadow:0 1px 3px #ffffffe6;margin-top:4px;font-family:Sarabun,sans-serif;font-size:14.5px;font-weight:400;line-height:1.5}.couple-heart-divider{color:var(--rose);flex-shrink:0;justify-content:center;align-items:center;margin:0 4px;font-size:16px;animation:2.5s ease-in-out infinite heartbeat;display:flex}.countdown-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0;position:relative;overflow:hidden}.countdown-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#c9a96e0a 0%,#0000 60%);width:200%;height:200%;animation:6s ease-in-out infinite gentle-glow;position:absolute;top:-50%;left:-50%}.countdown-grid{justify-content:center;align-items:center;gap:12px;max-width:360px;margin-top:28px;margin-left:auto;margin-right:auto;display:flex}.countdown-unit{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.countdown-box{aspect-ratio:1;-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#ffffffe6;border:1px solid #dec5a173;border-radius:18px;justify-content:center;align-items:center;width:100%;max-width:72px;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 18px #b8757512}.countdown-number{color:var(--rose-gold-dark,#b87575);letter-spacing:.02em;font-variant-numeric:tabular-nums lining-nums;-moz-font-feature-settings:"tnum" 1, "lnum" 1;-webkit-font-feature-settings:"tnum" 1, "lnum" 1;font-feature-settings:"tnum" 1, "lnum" 1;text-align:center;font-family:Playfair Display,Cormorant Garamond,Georgia,serif;font-size:clamp(24px,6vw,30px);font-weight:500;line-height:1;display:inline-block}.countdown-label{color:var(--text-mid,#6b645a);letter-spacing:.03em;text-align:center;white-space:nowrap;font-family:Sarabun,sans-serif;font-size:13px;font-weight:400}.timeline-section{padding:var(--section-py) var(--section-px);background:0 0}.timeline-date-badge{background:linear-gradient(135deg, var(--sunset-pink-lt) 0%, var(--sunset-peach-lt) 100%);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);margin-bottom:28px;padding:20px 24px}.timeline-day-num{color:var(--text-dark);font-family:Playfair Display,serif;font-size:48px;font-weight:600;line-height:1}.timeline-day-name{color:var(--text-mid);letter-spacing:.1em;font-family:Sarabun,sans-serif;font-size:15px;font-weight:500}.timeline-month-year{color:var(--text-light);letter-spacing:.15em;text-transform:uppercase;margin-top:2px;font-family:Sarabun,sans-serif;font-size:13.5px;font-weight:400}.timeline-header{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:12px;display:flex}.timeline-track{flex-direction:column;gap:0;display:flex;position:relative}.timeline-item{align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-connector{flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.timeline-dot{background:var(--wax-gradient);width:18px;height:18px;box-shadow:0 0 0 3px #e5a9a940, inset 0 1px 3px #ffffff59, var(--shadow-sm);z-index:1;border:1px solid #ffffff73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.timeline-dot span{color:#fff;text-shadow:0 1px 1px #00000026;margin-top:-1px;font-size:8px;line-height:1;display:block}.timeline-vline{border-left:1px dashed #e5a9a98c;flex:1;width:1px;min-height:20px}.timeline-content{flex:1;padding-top:0}.timeline-time{color:var(--rose);margin-bottom:2px;font-family:Sarabun,sans-serif;font-size:15.5px;font-weight:600}.timeline-title{color:var(--text-dark);font-family:Sarabun,sans-serif;font-size:17px;font-weight:500;line-height:1.4}.timeline-desc{color:var(--text-light);margin-top:2px;font-family:Sarabun,sans-serif;font-size:15px;font-weight:400}.gallery-section{padding:var(--section-py) var(--section-px);content-visibility:auto;contain-intrinsic-size:800px;background:0 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.gallery-col{flex-direction:column;gap:10px;display:flex}.gallery-img-wrap{border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .3s var(--ease-elegant);position:relative;overflow:hidden}.gallery-img-wrap:active{transform:scale(.97)}.gallery-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-elegant);filter:saturate(1.15)contrast(1.04)brightness(1.02);display:block}.gallery-img-wrap:after{content:"";pointer-events:none;border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(#0000 0%,#c9a96e14 100%);height:40%;position:absolute;bottom:0;left:0;right:0}.lightbox-overlay{z-index:10000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:85vh;box-shadow:var(--shadow-xl);filter:saturate(1.15)contrast(1.04)brightness(1.02)}.lightbox-close{color:#fff;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;position:absolute;top:16px;right:16px}.dresscode-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0}.dresscode-swatches{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px;display:flex}.dresscode-swatch{flex-direction:column;align-items:center;gap:8px;display:flex}.swatch-circle{width:56px;height:56px;box-shadow:var(--shadow-md), 0 0 0 1px #c9a96e1a;transition:transform .3s var(--ease-bounce);border:3px solid #fff;border-radius:50%}.swatch-circle:active{transform:scale(1.1)}.swatch-label{color:var(--text-light);letter-spacing:.05em;font-family:Sarabun,sans-serif;font-size:14px;font-weight:400}.dresscode-hashtag{color:var(--gold);letter-spacing:.1em;margin-top:16px;font-family:Sarabun,sans-serif;font-size:14.5px;font-weight:500}.location-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0}.location-card{-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);text-align:center;background:#ffffffeb;border:1.5px solid #dec5a180;margin-top:24px;padding:32px 24px;box-shadow:0 10px 30px #b8757514,0 0 0 3px #dec5a133}.location-venue{color:var(--text-dark);margin-bottom:8px;font-family:Playfair Display,serif;font-size:23px;font-weight:500}.location-address{margin-bottom:16px;font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:400;line-height:1.7}.location-map{aspect-ratio:16/10;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}.location-map iframe,.location-map img{object-fit:cover;border:none;width:100%;height:100%}.btn-primary{background:var(--rose-gradient);color:#fff;letter-spacing:.05em;border-radius:var(--radius-full);box-shadow:var(--shadow-glow), 0 4px 15px #e5a9a959;transition:transform .3s var(--ease-bounce), box-shadow .3s;justify-content:center;align-items:center;gap:8px;padding:14px 34px;font-family:Sarabun,sans-serif;font-size:15.5px;font-weight:600;display:inline-flex}.btn-primary:active{box-shadow:var(--shadow-sm);transform:scale(.96)}.gift-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0}.gift-card{background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #e5a9a959;border-top:3px solid var(--rose-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), var(--shadow-glow);width:100%;max-width:380px;margin-top:24px;padding:32px 24px;position:relative;overflow:hidden}.gift-qr{border-radius:var(--radius-md);width:160px;height:160px;box-shadow:var(--shadow-sm);margin:0 auto 16px;overflow:hidden}.gift-qr img{object-fit:contain;width:100%;height:100%}.gift-bank{color:var(--text-dark);margin-bottom:4px;font-family:Sarabun,sans-serif;font-size:16.5px;font-weight:600}.gift-name{color:var(--text-mid);margin-bottom:12px;font-family:Sarabun,sans-serif;font-size:15.5px;font-weight:400}.gift-account-row{background:var(--sand-light);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:10px;padding:10px 16px;display:flex}.gift-account-num{color:var(--text-dark,#332b29);letter-spacing:.08em;font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:19px;font-weight:700}.gift-copy-icon{width:20px;height:20px;color:var(--gold);cursor:pointer;transition:transform .2s var(--ease-bounce)}.gift-copy-icon:active{transform:scale(1.3)}.gift-copied{color:#5c9e7a;justify-content:center;align-items:center;gap:6px;font-family:Sarabun,sans-serif;font-size:14.5px;font-weight:500;display:flex}.rsvp-section{padding:var(--section-py) var(--section-px);text-align:center;background:0 0;min-height:100svh;height:auto!important;overflow:visible!important}.rsvp-card{background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid #e5a9a959;border-top:3px solid var(--rose-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-md), var(--shadow-glow);text-align:left;width:100%;max-width:460px;margin-top:24px;margin-left:auto;margin-right:auto;padding:32px 24px;position:relative;overflow:hidden}.form-group{margin-bottom:24px}.form-label{text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);margin-bottom:8px;font-family:Sarabun,sans-serif;font-size:14.5px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-dark);appearance:none;background:0 0;border-bottom:1px solid #e5a9a980;padding:10px 0;font-family:Sarabun,sans-serif;font-size:17.5px;font-weight:400;transition:border-color .3s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-bottom-color:var(--rose-gold-dark)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light);font-weight:200}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 0 center;background-repeat:no-repeat;padding-right:20px}.form-textarea{resize:vertical;min-height:80px;line-height:1.6}.btn-submit{background:var(--rose-gradient);color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-full);width:100%;box-shadow:var(--shadow-glow), 0 4px 15px #e5a9a959;transition:transform .3s var(--ease-bounce), box-shadow .3s, background .3s;margin-top:8px;padding:15px 24px;font-family:Sarabun,sans-serif;font-size:16px;font-weight:600}.btn-submit:active{box-shadow:var(--shadow-sm);transform:scale(.97)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.rsvp-success{text-align:center;padding:32px 16px}.rsvp-success-icon{margin-bottom:12px;font-size:48px}.rsvp-success-title{color:var(--text-dark);margin-bottom:8px;font-family:Great Vibes,cursive;font-size:32px}.rsvp-success-text{color:var(--text-light);font-family:Sarabun,sans-serif;font-size:14px;font-weight:400;line-height:1.7}.footer-section{padding:80px var(--section-px) 60px;text-align:center;border-top:1px solid #e5a9a926;position:relative;overflow:hidden}.footer-script{color:var(--rose-gold-dark,#b87575);text-shadow:0 2px 10px #fffc;margin-bottom:8px;font-family:Great Vibes,cursive;font-size:58px;line-height:1.2}.footer-hashtag{letter-spacing:.18em;color:var(--gold);text-shadow:0 1px 4px #fffc;margin-bottom:20px;font-family:Sarabun,sans-serif;font-size:13px;font-weight:500}.footer-text{color:var(--text-dark,#2c3e50);text-shadow:0 1px 4px #fffc;margin-bottom:8px;font-family:Sarabun,sans-serif;font-size:15px;font-weight:500;line-height:1.8}.footer-apology{color:var(--text-mid,#6b645a);text-shadow:0 1px 4px #fffc;max-width:320px;margin:16px auto 0;font-family:Sarabun,sans-serif;font-size:13px;font-weight:400;line-height:1.7}.footer-heart{color:var(--rose-gold-dark);font-size:14px;animation:2.5s ease-in-out infinite heartbeat;display:inline-block}.footer-divider{color:var(--rose-gold-dark,#b87575);justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.footer-divider-line{background:linear-gradient(90deg,#0000,#b8757559,#0000);width:40px;height:1px}.music-btn{background:var(--gold-gradient);color:#fff;z-index:1000;width:44px;height:44px;box-shadow:var(--shadow-gold), var(--shadow-md);transition:transform .3s var(--ease-bounce);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;bottom:24px;right:24px}.music-btn:active{transform:scale(.9)}.music-btn.playing{animation:1.5s ease-in-out infinite music-pulse}.music-btn:before{content:"";border:1.5px solid #c9a96e4d;border-radius:50%;animation:2s ease-in-out infinite gentle-glow;position:absolute;inset:-4px}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}@keyframes shimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gentle-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes wave{0%{transform:translate(0)translateY(0)}25%{transform:translate(10px)translateY(-5px)}50%{transform:translate(0)translateY(-10px)}75%{transform:translate(-10px)translateY(-5px)}to{transform:translate(0)translateY(0)}}@keyframes sparkle-anim{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}@keyframes music-pulse{0%,to{box-shadow:var(--shadow-gold), var(--shadow-md), 0 0 0 0 #c9a96e4d}50%{box-shadow:var(--shadow-gold), var(--shadow-md), 0 0 0 8px #c9a96e00}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width>=481px){.page-container{height:auto;box-shadow:none;border-radius:0;margin:0}.hero-section{border-radius:0;height:100svh}.hero-names-script{font-size:68px}.section{padding:120px var(--section-px) 100px;height:auto;min-height:100svh}.invitation-card{padding:60px 36px 48px}.name-script{font-size:38px}.countdown-box{width:80px;height:80px}.countdown-number{font-size:36px}.couple-row{gap:32px;max-width:500px;margin-top:16px}.couple-photo-frame{width:120px;height:120px}.couple-nickname{font-size:32px}.couple-name-thai{white-space:normal;font-size:14px}.couple-parents{font-size:11px}.couple-heart-divider{font-size:20px}.timeline-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:24px;display:grid}.timeline-item{gap:16px;padding-bottom:24px}.gallery-swiper-item{flex:0 0 50%}.footer-script{font-size:60px}}@media (width>=768px){.page-container{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), 0 0 80px #c9a96e0f;margin:24px auto}}@supports (min-height:100svh){.hero-section,.app-wrapper,.page-container{min-height:100svh}}@media (hover:none){.gallery-img-wrap:active{transition-duration:.15s;transform:scale(.97)}.swatch-circle:active{transition-duration:.15s;transform:scale(1.15)}.btn-primary:active,.btn-submit:active,.opening-cta:active{transition-duration:.15s;transform:scale(.96)}.music-btn:active{transition-duration:.15s;transform:scale(.88)}.lightbox-close:active{background:#fff3}}@media (hover:hover){.gallery-img-wrap:hover img{transform:scale(1.05)}.gallery-img-wrap:hover{box-shadow:var(--shadow-lg)}.swatch-circle:hover{transform:scale(1.1)}.btn-primary:hover{box-shadow:var(--shadow-lg), 0 0 28px #f2b5b04d;transform:translateY(-1px)}.btn-submit:hover{background:var(--gold-dark);transform:translateY(-1px)}.opening-cta:hover{box-shadow:var(--shadow-gold), 0 0 28px #c9a96e4d;transform:translateY(-1px)}.music-btn:hover{transform:scale(1.08)}.lightbox-close:hover{background:#fff3}.gift-copy-icon:hover{color:var(--gold-dark);transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.text-center{text-align:center}.text-gold{color:var(--gold)}.text-rose{color:var(--rose)}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aos-item{opacity:0;transition:opacity .7s var(--ease-elegant), transform .7s var(--ease-elegant);transform:translateY(24px)}.aos-item.visible{opacity:1;transform:translateY(0)}.aos-item.visible:first-child{transition-delay:0s}.aos-item.visible:nth-child(2){transition-delay:.1s}.aos-item.visible:nth-child(3){transition-delay:.2s}.aos-item.visible:nth-child(4){transition-delay:.3s}.aos-item.visible:nth-child(5){transition-delay:.4s}.aos-item.visible:nth-child(6){transition-delay:.5s}.img-loading{background:linear-gradient(90deg, var(--sand-light) 25%, var(--cream) 50%, var(--sand-light) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer-loading}@keyframes shimmer-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.watercolor-splash{pointer-events:none;opacity:.06;filter:blur(40px);border-radius:50%;position:absolute}.watercolor-splash.sky{background:var(--sky)}.watercolor-splash.pink{background:var(--sunset-pink)}.watercolor-splash.peach{background:var(--sunset-peach)}.watercolor-splash.teal{background:var(--ocean-teal)}@supports (padding-bottom:env(safe-area-inset-bottom)){.footer-section{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.music-btn{bottom:calc(24px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right))}}.gallery-swiper{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;width:100%;padding:10px 4px;display:flex;overflow-x:auto}.gallery-swiper::-webkit-scrollbar{display:none}.gallery-swiper-item{scroll-snap-align:center;aspect-ratio:3/4;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform .4s var(--ease-elegant), box-shadow .4s;border:1px solid #e5a9a94d;flex:0 0 78%;position:relative;overflow:hidden}.gallery-swiper-item:hover{box-shadow:var(--shadow-lg), 0 0 20px #e5a9a940;border-color:#e5a9a999;transform:scale(1.03)}.gallery-swiper-item img{object-fit:cover;filter:saturate(1.15)contrast(1.04)brightness(1.02);width:100%;height:100%;transition:filter .3s,transform .4s}.minigame-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fdfbf7f2;justify-content:center;align-items:center;font-family:Sarabun,sans-serif;display:flex;position:fixed;inset:0}.minigame-container{border:2px solid var(--gold);background:#fff;border-radius:20px;flex-direction:column;width:90%;max-width:400px;height:80vh;max-height:650px;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000001a}.minigame-header{background:var(--cream);border-bottom:1px solid #c9a96e4d;justify-content:space-between;align-items:center;padding:16px;display:flex}.minigame-close{color:var(--text-dark);cursor:pointer;background:0 0;border:none;font-size:28px;line-height:1}.minigame-stats{color:var(--gold-dark);gap:16px;font-weight:600;display:flex}.minigame-area{-webkit-user-select:none;user-select:none;background:linear-gradient(#fffdfb 0%,#fae9dd 60%,#f7e5e5 100%);flex:1;position:relative;overflow:hidden}.minigame-screen{z-index:10;text-align:center;background:#fffc;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.minigame-screen h3{color:var(--gold-dark);margin-bottom:10px;font-size:24px}.minigame-screen p{color:var(--text-mid);margin-bottom:24px}.final-score{font-weight:700;color:var(--rose-gold-dark)!important;font-size:28px!important}.minigame-leaderboard{background:#fdfbf7f2;border:1px solid #e5a9a966;border-radius:16px;width:100%;max-width:280px;margin:12px 0 20px;padding:14px 20px;box-shadow:0 4px 15px #473c380f}.minigame-leaderboard-title{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.leaderboard-list{flex-direction:column;gap:6px;display:flex}.leaderboard-item{color:var(--text-dark);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:6px 12px;font-size:14px;font-weight:500;display:flex;box-shadow:0 1px 4px #0000000a}.leaderboard-item.is-latest{border:1.5px solid var(--rose-gold);background:#fff8f8}.minigame-btn{background:var(--gold-gradient);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:12px 32px;font-size:16px;font-weight:600;box-shadow:0 4px 15px #c9a96e66}.minigame-player{z-index:2;filter:drop-shadow(0 0 10px #fffffff2)drop-shadow(0 0 18px #e5a9a9cc)drop-shadow(0 4px 8px #473c3840);width:96px;height:96px;transition:left 50ms linear;position:absolute;bottom:20px;transform:translate(-50%)}.minigame-item{z-index:1;font-size:32px;animation:2s linear infinite spin-fall;position:absolute;transform:translate(-50%)}@keyframes spin-fall{0%{transform:translate(-50%)rotate(0)}to{transform:translate(-50%)rotate(360deg)}}.minigame-touch-guides{opacity:.3;pointer-events:none;justify-content:space-between;padding:0 20px;display:flex;position:absolute;bottom:80px;left:0;right:0}.guide-left,.guide-right{background:#0000001a;border-radius:20px;padding:8px 16px;font-size:14px}.play-minigame-btn{border:1px solid var(--gold);color:var(--gold-dark);cursor:pointer;background:0 0;border-radius:20px;margin-top:24px;padding:10px 24px;font-family:Sarabun,sans-serif;transition:all .3s}.play-minigame-btn:hover{background:var(--gold);color:#fff}.minigame-floating-text{color:var(--rose-gold-dark);text-shadow:0 2px 4px #fffc;pointer-events:none;z-index:3;font-size:20px;font-weight:700;position:absolute;transform:translate(-50%)}.rsvp-segmented-control{border-radius:var(--radius-sm);background:#e5a9a91a;border:1px solid #e5a9a933;gap:4px;margin-top:8px;padding:4px;display:flex}.rsvp-segment-btn{color:var(--text-mid);cursor:pointer;text-align:center;border-radius:6px;flex:1;padding:10px 12px;font-family:Sarabun,sans-serif;font-size:15px;font-weight:400;transition:all .3s}.rsvp-segment-btn.active{color:var(--rose-gold-dark);box-shadow:var(--shadow-sm);background:#fff;font-weight:500}.rsvp-gift-info{border-radius:var(--radius-md);background:#fdfbf7a6;border:1px dashed #c9a96e66;margin-top:8px;margin-bottom:16px;padding:16px;box-shadow:inset 0 2px 8px #00000003}.rsvp-gift-title{color:var(--rose-gold-dark);text-align:center;margin-bottom:12px;font-family:Sarabun,sans-serif;font-size:13px;font-weight:500}.rsvp-gift-flex{align-items:center;gap:16px;display:flex}.rsvp-gift-qr{width:90px;height:90px;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:4px;overflow:hidden}.rsvp-gift-qr img{object-fit:contain;width:100%;height:100%}.rsvp-gift-details{flex-direction:column;flex:1;gap:4px;display:flex}.rsvp-bank{color:var(--text-dark);font-family:Sarabun,sans-serif;font-size:13px;font-weight:500}.rsvp-acc-name{color:var(--text-mid);font-family:Sarabun,sans-serif;font-size:12.5px}.rsvp-copy-btn{border-radius:var(--radius-sm);color:var(--text-dark);cursor:pointer;background:#fff;border:1px solid #c9a96e59;justify-content:center;align-items:center;gap:6px;width:fit-content;margin-top:4px;padding:6px 12px;font-family:Cormorant Garamond,serif;font-size:13.5px;font-weight:500;transition:all .2s;display:inline-flex}.rsvp-copy-btn:hover{background:var(--gold-shimmer)}.rsvp-upload-zone{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1.5px dashed #e5a9a980;margin-top:6px;padding:12px;transition:all .3s}.rsvp-upload-zone:hover{border-color:var(--rose-gold-dark);background:#e5a9a905}.rsvp-upload-label{cursor:pointer;width:100%;display:block}.rsvp-upload-prompt{color:var(--text-mid);justify-content:center;align-items:center;gap:8px;font-family:Sarabun,sans-serif;font-size:13px;display:flex}.rsvp-upload-preview{color:var(--rose-gold-dark);justify-content:center;align-items:center;gap:8px;font-family:Sarabun,sans-serif;font-size:13px;font-weight:500;display:flex}.rsvp-upload-filename{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}@keyframes background-sparkle{0%,to{opacity:.35}50%{opacity:.75}}.invitation-section>div,.couple-section>div,.countdown-section>div,.timeline-section>div,.location-section>div,.gallery-section>div,.dresscode-section>div,.rsvp-section>div,.gift-section>div{box-sizing:border-box;width:100%;max-width:760px;margin-left:auto;margin-right:auto}.location-section>div,.gallery-section>div{max-width:1100px}.invitation-section{background-color:#ffffffe0!important;min-height:90vh!important}.couple-section{background-image:linear-gradient(#ffffff73 0%,#ffffff4d 100%),url(/imgs/couple_beach_bg.webp)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important;width:100%!important;height:auto!important;min-height:auto!important;padding-top:80px!important;padding-bottom:80px!important;position:relative!important;overflow:hidden!important}.countdown-section{background-color:#ffffffe0!important;height:auto!important;min-height:auto!important;padding-top:80px!important;padding-bottom:40px!important}.timeline-section{background-color:#ffffffe0!important;height:auto!important;min-height:auto!important;padding-top:60px!important;padding-bottom:80px!important}.location-section{background:linear-gradient(#fdf8f4f2 0%,#f8eee5eb 50%,#fdf8f4f2 100%)!important;height:auto!important;min-height:auto!important;padding-top:50px!important;padding-bottom:50px!important}.gallery-section{background-color:#ffffffe0!important;height:auto!important;min-height:auto!important;padding-top:80px!important;padding-bottom:12px!important}.dresscode-section{background-color:#f8f6f4e6!important;height:auto!important;min-height:auto!important;padding-top:60px!important;padding-bottom:80px!important}.rsvp-section{background-color:#ffffffe0!important;height:auto!important;min-height:auto!important;padding-top:80px!important;padding-bottom:60px!important}.gift-section{background-color:#f8f6f4e6!important;height:auto!important;min-height:auto!important;padding-top:60px!important;padding-bottom:80px!important}img,.gallery-swiper-item,.couple-photo-frame,.lightbox-img,.real-card-image,.hero-photo-bg{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important;user-drag:none!important}
