body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.banner-wrapper{position:relative;width:100%}.banner-slide{align-items:center;display:flex!important;justify-content:center;margin:auto;overflow:hidden;position:relative}.banner-slide,.banner-slide img{border-radius:12px;height:100%;width:100%}.banner-slide img{max-height:100vh;object-fit:contain;object-position:center}.banner-overlay{align-items:center;background:linear-gradient(180deg,#00000040,#00000073);border-radius:12px;display:flex;inset:0;justify-content:center;position:absolute}.banner-text{color:#fff;padding:16px;text-align:center}.banner-text h1{font-size:32px;font-weight:600;margin-bottom:8px}.banner-text h2{font-size:24px;font-weight:400;margin-bottom:12px}.banner-text p{font-size:16px;font-style:italic;line-height:1.6;opacity:.95}.heart-container{bottom:0;height:100%;left:0;pointer-events:none;position:fixed;width:100%;z-index:9999}.heart{animation:float 5s ease-out forwards;bottom:-40px;font-size:30px;opacity:1;position:absolute;will-change:transform,opacity}@keyframes float{0%{opacity:1;transform:translate(0) rotate(0deg)}50%{transform:translate(10px,-50vh) rotate(10deg)}to{opacity:0;transform:translate(-10px,-110vh) rotate(-10deg)}}.special-text{animation:fade-soft 3s ease-in-out infinite;color:#0f3fc4d9;font-size:48px;left:50%;letter-spacing:1px;pointer-events:none;position:fixed;top:45%;transform:translate(-50%,-50%);z-index:999}@keyframes fade-soft{0%,to{opacity:.4}50%{opacity:1}}.introduction{background-color:#fff;padding:40px 0;text-align:center}.profile-container{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.profile-container.single .profile{max-width:360px}.profile{align-items:center;background:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;margin:10px;max-width:45%;overflow:hidden;padding:20px;transition:transform .3s ease,box-shadow .3s ease;width:-webkit-fill-available}.profile:hover{box-shadow:0 5px 15px #00000026;transform:translateY(-5px)}.profile-image{border-radius:50%;height:200px;margin-bottom:15px;object-fit:cover;width:200px}.profile-info h2{color:#333;font-family:Pacifico,sans-serif;font-size:1.5rem}.profile-info p{color:#f009;font-size:20px;font-weight:500;line-height:1.5;margin-top:10px;text-align:left}.profile-info p:nth-child(odd){text-align:right}@media (max-width:768px){.profile{max-width:80%}}@keyframes floatUpDown{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.profile{animation:floatUpDown 1.5s ease-in-out infinite}@media (max-width:768px){.profile{animation-duration:2.5s}.profile-image{animation-duration:1.5s}}.birthday-message-container{background:linear-gradient(135deg,#ffe4ec,#fff7e6);border-radius:16px;margin:32px auto;max-width:900px;padding:48px 20px;text-align:center}.birthday-title{color:#ff4d6d;font-family:Playwrite DK Loopet,cursive;font-size:40px;margin-bottom:16px}.birthday-text{color:#444;font-size:18px;line-height:1.7}.music-button{align-items:center;background:linear-gradient(135deg,#ff9a9e,#fad0c4);border:none;border-radius:50%;bottom:calc(40px + env(safe-area-inset-bottom));box-shadow:0 6px 18px #ff9a9e99;color:#fff;cursor:pointer;display:flex;font-size:26px;height:56px;justify-content:center;left:calc(20px + env(safe-area-inset-left));position:fixed;transition:all .3s ease;transition:background .6s ease,box-shadow .6s ease,transform .3s;width:56px}.music-button:hover{box-shadow:0 8px 24px #ff9a9ee6;transform:scale(1.08)}.music-button.playing{animation:cake-wiggle 1.2s ease-in-out infinite;box-shadow:0 0 25px #fffc}@keyframes cake-wiggle{0%{transform:rotate(0deg) scale(1)}20%{transform:rotate(-8deg) scale(1.05)}40%{transform:rotate(8deg) scale(1.1)}60%{transform:rotate(-6deg) scale(1.08)}80%{transform:rotate(6deg) scale(1.05)}to{transform:rotate(0deg) scale(1)}}@media (max-width:768px){.music-button{font-size:24px;height:52px;width:52px}.music-button.playing{animation-duration:1.6s}.special-text{font-size:15px;text-align:center;width:80%}}.confetti-container{bottom:50px;left:20px;pointer-events:none;position:fixed}.confetti{animation:confetti-fall 2.5s ease-out infinite;background:hsl(var(--hue),80%,60%);border-radius:2px;bottom:0;height:8px;left:calc(50% + var(--x));position:absolute;width:8px}.confetti:nth-child(n){--hue:calc(var(--i)*360)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:0;transform:translateY(-120px) rotate(1turn)}}.candle{background:linear-gradient(#fff,gold);border-radius:2px;height:12px;position:absolute;right:18px;top:-6px;width:6px}.candle:after{animation:flame .8s ease-in-out infinite;background:radial-gradient(circle,gold,orange,#0000);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:-10px;transform:translateX(-50%);width:10px}.final-overlay{align-items:center;animation:fadeIn 1.4s ease forwards;background:radial-gradient(circle,#141428f2,#000000fa);display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:10000}.final-image{animation:zoomIn 1.6s ease forwards;border-radius:16px;box-shadow:0 20px 60px #0009;max-width:30vw;min-width:220px}.final-text{animation:fadeUp 1.8s ease forwards;animation-delay:.6s;color:#e0e8ff;font-size:18px;line-height:1.5;margin-top:18px;opacity:0;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.final-image{width:180px}.final-text{font-size:16px;padding:0 16px}}.wedding-album{padding:20px;text-align:center}.album-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.album-item{margin:auto}.album-item img{border-radius:10px;height:auto;transition:transform .3s ease;width:100%}.album-item img:hover{transform:scale(1.05)}.album-modal{align-items:center;display:flex;justify-content:center;position:relative}.modal-image{max-height:80vh;max-width:100%;object-fit:contain}.nav-btn{align-items:center;background:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .3s;width:40px;z-index:10}.nav-btn:hover{background:#0009}.nav-btn.left{left:-25px}.nav-btn.right{right:-25px}.wedding-date-container{background-color:#fef6f9;border-radius:10px;padding:60px 20px;text-align:center}.wedding-invite{color:#e91e63;font-family:Playwrite DK Loopet,cursive;font-size:36px;margin-bottom:12px}.wedding-message{color:#444;font-size:18px;margin-bottom:32px}.calendar{background:#fff;border-radius:16px;box-shadow:0 0 10px #0000001a;display:inline-block;padding:20px}.calendar h3{color:#c2185b;margin-bottom:12px}.highlight{background-color:#2196f3!important;box-shadow:0 0 12px #2196f3cc;color:#fff!important;transform:none}.calendar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,40px);justify-content:center}.calendar-header{color:#333;font-size:14px}.calendar-day,.calendar-header{font-weight:700;text-align:center}.calendar-day{background-color:#f8bbd0;border-radius:50%;color:#fff;height:40px;line-height:40px;width:40px}.calendar-day.empty{background-color:initial;box-shadow:none}.prev-month{background-color:#e0e0e0;color:#666;font-weight:400}.invitation-section{background-color:#fffafc;color:#ff6f91;font-size:20px;font-style:italic;margin:12px 0;overflow:hidden;padding:24px;position:relative;text-align:center}.invitation-section:after,.invitation-section:before{content:"";display:block;height:20px;left:0;position:absolute;right:0}.invitation-section:before{top:0}.invitation-section:after{bottom:0}
/*# sourceMappingURL=main.4d71a62a.css.map*/