@import"https://fonts.googleapis.com/css2?family=Updock&display=swap";@import"https://fonts.googleapis.com/css2?family=Dancing+Script&family=Cinzel&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:#fff;color:#333;line-height:1.6}.view-bg-cont{background:url(/assets/images/preview-bg.avif);background-size:cover;display:flex;flex-direction:row;justify-content:center;align-items:center;min-height:100vh}.smartphone{background-image:url(/assets/images/frame.png);background-size:cover;background-position:center;padding:15px;text-align:center;width:415px;height:700px;border-radius:36px;display:flex;flex-direction:column;justify-content:flex}.container{width:100%;height:100%;position:relative;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.container::-webkit-scrollbar{display:none}.section{width:100%;padding:20px;position:relative;text-align:center}@media (max-width: 768px){.groom,.bride,.heart-divider{width:100%}.photo-row{flex-direction:column;align-items:center}.photo{width:150px;height:150px}}.music-player[data-v-ababbe37]{position:fixed;top:10px;right:10px;z-index:1000}.music-icon[data-v-ababbe37]{width:32px;height:32px;cursor:pointer;transition:transform .3s ease}.music-icon.playing[data-v-ababbe37]{animation:spin-ababbe37 2s linear infinite}.music-icon.paused[data-v-ababbe37]{filter:grayscale(1);opacity:.7}@keyframes spin-ababbe37{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-icon[data-v-ababbe37]:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:24px;background-color:#fff;transform:translate(-50%,-50%) rotate(45deg);transition:opacity .3s ease}@font-face{font-family:Maxwell;src:url(/assets/font/maxwell.light.ttf) format("truetype");font-weight:400;font-style:normal}.hero[data-v-d2d2312b]{height:650px;background-size:cover;background-position:bottom;background-repeat:no-repeat;color:#fff;padding:10px 10px 60px;text-align:center}.hero .greeting[data-v-d2d2312b]{font-family:Maxwell,Microsoft YaHei,Arial,sans-serif;font-size:1rem;text-align:center;margin:20px 0}.hero h2[data-v-d2d2312b]{font-size:1.2rem;margin-bottom:20px;font-family:Cinzel,serif}.hero .subtitle[data-v-d2d2312b]{font-size:1.5rem;font-family:Dancing Script,cursive}.couple-names[data-v-d2d2312b]{display:flex;justify-content:center;align-items:center;margin-top:100px;margin-bottom:20px;gap:20px}.groom[data-v-d2d2312b],.bride[data-v-d2d2312b]{font-family:Agency FB,serif;font-size:1.2rem}.hero .date[data-v-d2d2312b]{display:flex;justify-content:center;align-items:center;font-family:Agency FB,serif}.heart-divider[data-v-d2d2312b]{width:1vw;max-width:100px;min-width:20px;font-size:1.2em;color:#fff;flex-shrink:0}.details[data-v-55f014ac]{background-color:#f9f9f9;padding:20px}.details h2[data-v-55f014ac]{color:#8b0000;margin-bottom:20px;font-family:Updock,cursive;font-size:35px}.photo img[data-v-55f014ac]{width:100%;height:100%;object-fit:cover}.info-box[data-v-55f014ac]{background-color:#fff;border:1px solid #eee;padding:20px;margin:20px auto;max-width:600px;box-shadow:0 0 10px #0000001a}.info-box h3[data-v-55f014ac]{color:#8b0000;margin:0 0 15px;text-align:center}.contacts-container[data-v-55f014ac]{display:flex;flex-direction:column;gap:20px}.contact-card[data-v-55f014ac]{border-radius:8px;padding:15px;text-align:center;border:1px solid #8B0000;border-left:4px solid #8B0000}.contact-name[data-v-55f014ac]{font-weight:700;color:#8b0000;font-size:16px;margin-bottom:5px}.contact-value a[data-v-55f014ac]{color:#333;text-decoration:none;font-size:18px;font-weight:500}.contact-value a[data-v-55f014ac]:hover{color:#8b0000;text-decoration:underline}.contact-note[data-v-55f014ac]{font-size:13px;color:#888;margin-top:8px}.divider[data-v-55f014ac]{height:1px;background-color:#eee;margin:20px 0}.map-container[data-v-55f014ac]{max-width:600px;height:300px;margin:30px auto;background-color:#e0e0e0;box-shadow:0 0 10px #0000001a;border-radius:10px;display:flex;align-items:center;justify-content:center}.gallery-title[data-v-bd23594f]{color:#8b0000;padding:10px;font-family:Updock,cursive;font-size:35px}.photo-row[data-v-bd23594f]{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-bottom:20px}.photo[data-v-bd23594f]{width:100%;height:100%;overflow:hidden;position:relative}.photo img[data-v-bd23594f]{width:100%;height:100%;object-fit:cover}.photo[data-v-bd23594f]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.photo-gallery[data-v-bd23594f]{width:100%;max-width:none;padding:0;background-color:#fff}.container[data-v-bd23594f]{width:100%;max-width:none}.photo-row[data-v-bd23594f]{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-bottom:20px;width:100%}.photo-row[data-v-bd23594f]{justify-content:center}.invitation[data-v-d9dd944e]{padding:40px 20px;display:flex;justify-content:center}.letter-container[data-v-d9dd944e]{max-width:600px;padding:30px;border:1px solid #e6e6fa;box-shadow:0 4px 8px #0000001a;position:relative;font-family:Dancing Script,Tahoma,Geneva,Verdana,sans-serif}.letter-header[data-v-d9dd944e]{text-align:center;margin-bottom:30px}.ornament-top[data-v-d9dd944e]{width:100%;height:20px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0 5 Q 10 0, 20 5 T 40 5 T 60 5 T 80 5 T 100 5" stroke="%238B0000" fill="none" stroke-width="1"/></svg>');background-repeat:no-repeat;background-position:center}.letter-content[data-v-d9dd944e]{line-height:1.8;font-size:1.1em;color:#333;text-align:left}.letter-content p[data-v-d9dd944e]{margin-bottom:20px}.letter-content p[data-v-d9dd944e]:first-child{text-align:left}.signature[data-v-d9dd944e]{font-style:italic;text-align:right;margin-right:50px}.letter-footer[data-v-d9dd944e]{margin-top:30px;text-align:center}.ornament-bottom[data-v-d9dd944e]{width:100%;height:20px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 10"><path d="M0 5 Q 10 10, 20 5 T 40 5 T 60 5 T 80 5 T 100 5" stroke="%238B0000" fill="none" stroke-width="1"/></svg>');background-repeat:no-repeat;background-position:center}.calendar-section[data-v-bc18fbd0]{position:relative;width:100%;height:500px;overflow:hidden;box-shadow:0 4px 8px #0000001a;background-size:cover;background-position:center}.calendar-content[data-v-bc18fbd0]{position:absolute;left:0;right:0;bottom:0;padding:10px;margin:20px;text-shadow:2px 2px 4px rgba(0,0,0,.5);background-color:#00000026;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);color:#fff}.calendar-header[data-v-bc18fbd0]{padding:20px;text-align:center;color:#fff;font-size:1.5em;font-weight:700}.calendar-grid[data-v-bc18fbd0]{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day-header[data-v-bc18fbd0]{text-align:center;font-size:.8em;font-weight:700;padding:5px}.day-cell[data-v-bc18fbd0]{text-align:center;padding:5px;position:relative}.day-number[data-v-bc18fbd0]{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8em;cursor:pointer;transition:all .3s ease;position:relative;margin:0 auto}.wedding-date[data-v-bc18fbd0]{background-color:transparent;color:#fff;position:relative;z-index:2;box-shadow:none;width:40px;height:25px;transform:scale(1)}.wedding-date[data-v-bc18fbd0]:before,.wedding-date[data-v-bc18fbd0]:after{position:absolute;content:"";left:20px;top:0;width:20px;height:30px;background:#8b0000;border-radius:20px 20px 0 0;transform:rotate(-45deg);transform-origin:0 100%;z-index:-1;animation:heartbeat-bc18fbd0 1.5s infinite}.wedding-date[data-v-bc18fbd0]:after{left:0;transform:rotate(45deg);transform-origin:100% 100%}@keyframes heartbeat-bc18fbd0{0%{transform:rotate(-45deg) scale(.9)}50%{transform:rotate(-45deg) scale(1.1)}to{transform:rotate(-45deg) scale(.9)}}.wedding-date[data-v-bc18fbd0]:after{animation:heartbeat2-bc18fbd0 1.5s infinite}@keyframes heartbeat2-bc18fbd0{0%{transform:rotate(45deg) scale(.9)}50%{transform:rotate(45deg) scale(1.1)}to{transform:rotate(45deg) scale(.9)}}.day-number[data-v-bc18fbd0]:hover{transform:scale(1.05);background-color:#0000001a}.wedding-date[data-v-bc18fbd0]:hover{transform:scale(1.05)}.countdown[data-v-1de0c94f]{background-color:#8b0000;color:#fff;padding:20px}.countdown-title[data-v-1de0c94f]{margin-bottom:20px}.countdown-container[data-v-1de0c94f]{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.countdown-item[data-v-1de0c94f]{background-color:#fff3;border-radius:10px;padding:10px;min-width:70px}.countdown-number[data-v-1de0c94f]{font-size:2.5em;font-weight:700}.countdown-label[data-v-1de0c94f]{font-size:1em}.rsvp[data-v-5033aa8c]{background-color:#fff;padding:20px}.rsvp h2[data-v-5033aa8c]{color:#8b0000;padding-bottom:20px;font-family:Updock,cursive;font-size:35px}.form-container[data-v-5033aa8c]{max-width:500px;margin:0 auto;background-color:#f9f9f9;padding:20px;border-radius:10px}.form-group[data-v-5033aa8c]{margin-bottom:20px;text-align:left}.form-group label[data-v-5033aa8c]{display:block;margin-bottom:5px;font-weight:700}.form-group input[data-v-5033aa8c],.form-group textarea[data-v-5033aa8c],.form-group select[data-v-5033aa8c]{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1em}.form-group textarea[data-v-5033aa8c]{resize:none}.submit-btn[data-v-5033aa8c]{background-color:#8b0000;color:#fff;border:none;padding:12px 30px;font-size:1.1em;border-radius:5px;cursor:pointer;transition:background-color .3s}.submit-btn[data-v-5033aa8c]:hover{background-color:brown}.submitted-message[data-v-5033aa8c]{text-align:center;padding:20px;color:#8b0000;font-weight:700}.three-part-section[data-v-dc353b8e]{display:flex;justify-content:space-between;width:100%;border-top:2px solid #ddd;border-bottom:2px solid #ddd;padding:10px 0;font-size:15px}.part[data-v-dc353b8e]{flex:1;padding:0 15px;text-align:center;position:relative}
