.app{--primary:#d4a373;--secondary:#faedcd;--accent:#e63946}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.hero-background{animation:heroZoom 20s ease-in-out infinite alternate;background-position:50%;background-repeat:no-repeat;background-size:cover;inset:0;position:absolute;transform:scale(1.05);will-change:transform}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.hero-overlay{background:linear-gradient(180deg,#0000008c,#00000059 30%,#0000004d 60%,#0000008c);inset:0;position:absolute;z-index:1}.hero-content{max-width:700px;padding:2rem 1.5rem;position:relative;text-align:center;z-index:2}.guest-greeting{animation:fadeInDown 1s ease-out .3s both;margin-bottom:2rem}.greeting-text{color:#fffffff2;font-family:Quicksand,sans-serif;font-size:1rem;letter-spacing:3px;text-shadow:0 1px 8px #00000080;text-transform:uppercase}.guest-name{-webkit-text-fill-color:#0000;animation:gradientShift 4s ease-in-out infinite;background:linear-gradient(135deg,#f5d16e,#f0a35c,#e8725a,#f5d16e);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;filter:drop-shadow(0 2px 8px rgba(245,209,110,.4));font-family:Dancing Script,cursive;font-size:2.2rem;margin-top:.5rem}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.greeting-event{color:#fffffff2;font-family:Quicksand,sans-serif;font-size:1rem;letter-spacing:2px;margin-top:.5rem;text-shadow:0 1px 8px #00000080;text-transform:uppercase}.couple-names{animation:fadeInUp 1s ease-out .5s both;margin-bottom:1.5rem}.bride-name,.groom-name{color:#fff;font-family:Dancing Script,cursive;font-size:3.5rem;font-weight:700;line-height:1.2;text-shadow:0 2px 10px #0009,0 0 30px #0000004d}.ampersand{color:var(--primary);display:block;font-family:Playfair Display,serif;font-size:2rem;font-style:italic;margin:.3rem 0;text-shadow:0 2px 8px #0003}.wedding-date{animation:fadeInUp 1s ease-out .7s both;margin-bottom:1.5rem}.ornament{animation:rotateStar 8s linear infinite;color:var(--primary);font-size:1.5rem;margin-bottom:.5rem}@keyframes rotateStar{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.date-text{color:#fff;font-family:Playfair Display,serif;font-size:1.2rem;letter-spacing:2px;text-shadow:0 1px 8px #00000080}.lunar-date{color:#ffffffd9;font-size:.9rem;margin-top:.3rem}.lunar-date,.wedding-description{font-family:Quicksand,sans-serif;text-shadow:0 1px 6px #00000080}.wedding-description{animation:fadeInUp 1s ease-out .9s both;color:#fffffff2;font-size:1rem;line-height:1.8;margin-bottom:2rem}.hero-avatars{align-items:center;animation:fadeInUp 1s ease-out 1.1s both;display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem}.avatar-wrapper{border:3px solid #fffc;border-radius:50%;box-shadow:0 5px 25px #0003;height:120px;overflow:hidden;transition:transform .4s ease;width:120px}.avatar-wrapper:hover{transform:scale(1.08)}.avatar-wrapper img{height:100%;object-fit:cover;width:100%}.avatar-heart{animation:heartbeat 1.5s ease-in-out infinite;color:var(--accent);filter:drop-shadow(0 2px 4px rgba(230,57,70,.4));font-size:1.8rem}.scroll-down{align-items:center;animation:fadeInUp 1s ease-out 1.3s both;color:#fffc;display:inline-flex;flex-direction:column;font-size:.85rem;letter-spacing:2px;text-decoration:none;transition:color .3s ease}.scroll-down:hover{color:#fff}.scroll-arrow{animation:bounceDown 2s ease-in-out infinite;font-size:1.5rem;margin-top:.3rem}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.countdown-section{background:linear-gradient(135deg,var(--secondary) 0,#fff5e6 100%);padding:5rem 1.5rem;text-align:center}.section-title{color:var(--primary);font-family:Dancing Script,cursive;font-size:2.5rem;margin-bottom:2.5rem;position:relative}.section-title:after{background:var(--primary);content:"";display:block;height:2px;margin:.8rem auto 0;width:80px}.countdown-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.countdown-item{align-items:center;display:flex;flex-direction:column}.countdown-number{align-items:center;background:#fff;border:2px solid var(--primary);border-radius:16px;box-shadow:0 8px 30px #d4a37326;display:flex;height:90px;justify-content:center;transition:transform .3s ease,box-shadow .3s ease;width:90px}.countdown-number:hover{box-shadow:0 12px 40px #d4a37340;transform:translateY(-5px)}.number-flip{color:var(--primary);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700}.countdown-label{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:1px;margin-top:.8rem;text-transform:uppercase}.event-section{background:#fff;padding:5rem 1.5rem;text-align:center}.event-timeline{margin:0 auto;max-width:600px;position:relative}.event-timeline:before{background:linear-gradient(to bottom,var(--primary),#0000);bottom:0;content:"";left:24px;position:absolute;top:0;width:2px}.event-card{align-items:flex-start;display:flex;gap:1.5rem;margin-bottom:2.5rem;opacity:0;text-align:left;transform:translateX(-20px);transition:opacity .6s ease-out,transform .6s ease-out}.event-card.visible{opacity:1;transform:translateX(0)}.event-time-badge{align-items:center;background:linear-gradient(135deg,var(--primary),#c9956a);border-radius:50%;box-shadow:0 4px 15px #d4a3734d;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.event-time{color:#fff;font-family:Quicksand,sans-serif;font-size:.75rem;font-weight:700}.event-details{background:#fdf8f0;border-radius:12px;box-shadow:0 4px 20px #0000000d;flex:1 1;padding:1.5rem;transition:transform .3s ease}.event-details:hover{transform:translateY(-3px)}.event-name{color:var(--primary);font-family:Playfair Display,serif;font-size:1.3rem;margin-bottom:.5rem}.event-venue{color:#3d3229;font-size:.95rem;font-weight:600;margin-bottom:.3rem}.event-address{color:#8a7968;font-size:.85rem;margin-bottom:.8rem}.event-map-link{border:1px solid var(--primary);border-radius:20px;color:var(--primary);display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem 1rem;text-decoration:none;transition:all .3s ease}.event-map-link:hover{background:var(--primary);color:#fff}.navigation{bottom:1.5rem;left:50%;position:fixed;transform:translate3d(-50%,0,0);z-index:100}.nav-container{background:#fffffff7;border-radius:50px;box-shadow:0 5px 30px #00000026;display:flex;gap:.5rem;padding:.6rem 1rem}@media (min-width:769px){.nav-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}}.nav-item{align-items:center;background:none;border:none;border-radius:25px;color:#8a7968;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.5rem 1rem;transition:all .3s ease}.nav-item:hover{background:var(--secondary)}.nav-item.active{background:var(--primary);color:#fff}.nav-icon{font-size:1.1rem}.nav-label{font-size:.65rem;font-weight:600;letter-spacing:.5px}.floating-petals{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:50}.petal{animation:petalFall linear forwards;background:radial-gradient(ellipse at 30% 30%,#f8c8c8,#f4a0a0);border-radius:50% 0 50% 50%;position:absolute;top:-20px}.music-player,.petal{will-change:transform}.music-player{position:fixed;right:1.5rem;top:1.5rem;z-index:100}.music-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid var(--primary);border-radius:50%;box-shadow:0 3px 15px #0000001a;cursor:pointer;display:flex;height:45px;justify-content:center;transition:transform .3s ease,background .3s ease,border-color .3s ease;width:45px}.music-btn:hover{transform:scale(1.1)}.music-btn.playing{background:var(--primary)}.music-btn.playing .music-icon{animation:musicPulse 1s ease-in-out infinite;color:#fff}.music-icon{color:var(--primary);font-size:1.2rem;transition:color .3s ease}@keyframes musicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.music-btn:not(.playing){animation:musicHint 2.5s ease-in-out 1s 3}@keyframes musicHint{0%,to{box-shadow:0 3px 15px #0000001a;transform:scale(1)}50%{box-shadow:0 5px 20px #d4a37380;box-shadow:0 5px 20px rgba(var(--primary-rgb,212,163,115),.5);transform:scale(1.15)}}.music-embed{animation:fadeInDown .3s ease-out;border-radius:12px;box-shadow:0 5px 25px #00000026;overflow:hidden;position:absolute;right:0;top:55px}.music-embed iframe{border-radius:12px;display:block}@media (max-width:768px){.navigation{bottom:1rem;max-width:92vw;width:auto}.nav-container{-webkit-overflow-scrolling:touch;gap:.25rem;overflow-x:auto;padding:.5rem .7rem;scrollbar-width:none}.nav-container::-webkit-scrollbar{display:none}.nav-item{flex-shrink:0;min-width:0;padding:.45rem .6rem}.nav-label{display:none}.bride-name,.groom-name{font-size:2.5rem}.ampersand{font-size:1.5rem}.guest-name{font-size:1.6rem}.section-title{font-size:2rem}.countdown-number{height:75px;width:75px}.number-flip{font-size:2rem}.avatar-wrapper{height:100px;width:100px}.event-timeline:before{left:20px}.event-time-badge{height:42px;width:42px}}@media (max-width:480px){.hero-content{padding:1.5rem 1rem}.bride-name,.groom-name{font-size:2rem}.ampersand{font-size:1.2rem}.guest-name{font-size:1.3rem}.greeting-text{font-size:.85rem;letter-spacing:2px}.countdown-section,.event-section{padding:3rem 1rem}.section-title{font-size:1.7rem}.countdown-container{gap:.8rem}.countdown-number{border-radius:12px;height:65px;width:65px}.number-flip{font-size:1.7rem}.countdown-label{font-size:.7rem}.avatar-wrapper{height:85px;width:85px}.hero-avatars{gap:1rem}.wedding-description{font-size:.9rem}.date-text{font-size:1rem}.nav-container{padding:.4rem .6rem}.nav-item{padding:.4rem .7rem}.nav-label{font-size:.55rem}.event-card{gap:1rem}.event-details{padding:1rem}.event-name{font-size:1.1rem}}.couple-section{background:linear-gradient(135deg,#fff5e6 0,var(--secondary) 100%);padding:5rem 1.5rem;text-align:center}.couple-container{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:800px}.couple-card{background:#fffc;border-radius:20px;box-shadow:0 8px 30px #0000000f;flex:1 1;min-width:250px;opacity:0;padding:2rem 1.5rem;transform:translateY(30px);transition:transform .4s ease,box-shadow .4s ease;transition:opacity .8s ease-out,transform .8s ease-out}.couple-card.visible{opacity:1;transform:translateY(0)}.couple-card:hover{box-shadow:0 12px 40px #d4a37333}.couple-avatar-large{border:4px solid var(--primary);border-radius:50%;box-shadow:0 5px 25px #d4a3734d;height:160px;margin:0 auto 1.2rem;overflow:hidden;transition:transform .4s ease;width:160px}.couple-avatar-large:hover{transform:scale(1.05)}.couple-avatar-large img{height:100%;object-fit:cover;width:100%}.couple-role{color:var(--primary);font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.couple-fullname{color:#3d3229;font-family:Dancing Script,cursive;font-size:1.8rem;margin-bottom:.5rem}.couple-parent{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.9rem;line-height:1.6}.couple-heart-divider{animation:heartbeat 1.5s ease-in-out infinite;color:var(--accent);font-size:2rem}.lovestory-section{background:#fff;padding:5rem 1.5rem;text-align:center}.story-timeline{margin:0 auto;max-width:650px;position:relative}.story-timeline:before{background:linear-gradient(to bottom,var(--primary),var(--accent),var(--primary));bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.story-item{align-items:flex-start;display:flex;margin-bottom:3rem;opacity:0;position:relative;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.story-item.visible{opacity:1;transform:translateY(0)}.story-left{flex-direction:row;padding-right:calc(50% + 30px);text-align:right}.story-right{flex-direction:row-reverse;padding-left:calc(50% + 30px);text-align:left}.story-date-badge{align-items:center;background:#fff;border:3px solid var(--primary);border-radius:50%;box-shadow:0 3px 15px #d4a37333;display:flex;height:50px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:50px;z-index:2}.story-icon{font-size:1.3rem}.story-content{background:#fdf8f0;border-radius:16px;box-shadow:0 4px 20px #0000000d;padding:1.5rem;transition:transform .3s ease}.story-content:hover{transform:translateY(-3px)}.story-image{border-radius:12px;margin-bottom:1rem;overflow:hidden}.story-image img{height:150px;object-fit:cover;width:100%}.story-date{color:var(--primary);font-family:Quicksand,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:1px;margin-bottom:.3rem;text-transform:uppercase}.story-title{color:#3d3229;font-family:Playfair Display,serif;font-size:1.2rem;margin-bottom:.5rem}.story-description{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.9rem;line-height:1.6}.gallery-section{background:linear-gradient(135deg,var(--secondary) 0,#fff5e6 100%);padding:5rem 1.5rem;text-align:center}.gallery-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:900px}.gallery-item{aspect-ratio:1;border-radius:12px;cursor:pointer;opacity:0;overflow:hidden;position:relative;transform:scale(.9);transition:opacity .6s ease-out,transform .6s ease-out}.gallery-item.visible{opacity:1;transform:scale(1)}.gallery-item img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{align-items:center;background:#0000004d;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-zoom{filter:brightness(0) invert(1);font-size:2rem}.lightbox{align-items:center;animation:fadeIn .3s ease;background:#000000eb;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.lightbox-content{max-height:90vh;max-width:90vw;position:relative}.lightbox-content img{border-radius:8px;max-height:85vh;max-width:90vw;object-fit:contain}.lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;padding:.5rem;position:absolute;right:0;top:-40px;transition:transform .3s}.lightbox-close:hover{transform:scale(1.2)}.lightbox-nav{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .3s;width:50px}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-counter{color:#ffffffb3;font-family:Quicksand,sans-serif;font-size:.9rem;margin-top:1rem;text-align:center}.rsvp-section{background:#fff;padding:5rem 1.5rem;text-align:center}.rsvp-subtitle{color:#8a7968;font-family:Quicksand,sans-serif;font-size:1rem;margin-bottom:2.5rem}.rsvp-form{margin:0 auto;max-width:500px}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{color:#3d3229;display:block;font-family:Quicksand,sans-serif;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input[type=email],.form-group input[type=text],.form-group select,.form-group textarea{background:#fdf8f0;border:2px solid #e8ddd0;border-radius:12px;box-sizing:border-box;color:#3d3229;font-family:Quicksand,sans-serif;font-size:.95rem;outline:none;padding:.8rem 1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #d4a37326}.form-group textarea{resize:vertical}.radio-group{display:flex;gap:1rem}.radio-btn{border:2px solid #e8ddd0;border-radius:12px;color:#8a7968;cursor:pointer;flex:1 1;font-family:Quicksand,sans-serif;font-size:.9rem;padding:.8rem 1rem;text-align:center;transition:all .3s ease}.radio-btn input{display:none}.radio-btn.active{background:var(--secondary);border-color:var(--primary);color:var(--primary);font-weight:600}.rsvp-submit{background:linear-gradient(135deg,var(--primary),#c9956a);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Quicksand,sans-serif;font-size:1rem;font-weight:700;letter-spacing:1px;padding:1rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.rsvp-submit:hover{box-shadow:0 8px 25px #d4a37366;transform:translateY(-2px)}.rsvp-success{background:#fdf8f0;border-radius:20px;margin:0 auto;max-width:400px;padding:3rem 2rem}.success-icon{animation:heartbeat 1.5s ease-in-out infinite;color:var(--accent);font-size:3rem;margin-bottom:1rem}.rsvp-success h3{color:var(--primary);font-family:Dancing Script,cursive;font-size:2rem;margin-bottom:.8rem}.rsvp-success p{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.95rem;line-height:1.6}.guestbook-section{background:linear-gradient(135deg,var(--secondary) 0,#fff5e6 100%);padding:5rem 1.5rem;text-align:center}.guestbook-subtitle{color:#8a7968;font-family:Quicksand,sans-serif;font-size:1rem;margin-bottom:2rem}.guestbook-form{margin:0 auto 2.5rem;max-width:500px}.guestbook-submit{background:linear-gradient(135deg,var(--accent),#c92a38);border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Quicksand,sans-serif;font-size:.95rem;font-weight:700;padding:.8rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.guestbook-submit:hover{box-shadow:0 8px 25px #e639464d;transform:translateY(-2px)}.guestbook-submit:disabled{cursor:not-allowed;opacity:.7}.wishes-list{margin:0 auto;max-width:600px}.no-wishes{color:#b0a090;font-family:Quicksand,sans-serif;font-size:.95rem;font-style:italic}.wish-card{background:#fffc;border-radius:16px;box-shadow:0 2px 15px #0000000a;display:flex;gap:1rem;margin-bottom:1rem;padding:1.2rem;text-align:left;transition:transform .3s ease}.wish-card:hover{transform:translateY(-2px)}.wish-avatar{align-items:center;background:linear-gradient(135deg,var(--primary),#c9956a);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Quicksand,sans-serif;font-size:1.1rem;font-weight:700;height:45px;justify-content:center;width:45px}.wish-content{flex:1 1}.wish-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.3rem}.wish-name{color:#3d3229;font-family:Quicksand,sans-serif;font-size:.9rem}.wish-time{color:#b0a090;font-size:.75rem}.wish-message{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.9rem;line-height:1.5}.bank-section{background:#fff;padding:5rem 1.5rem;text-align:center}.bank-subtitle{color:#8a7968;font-family:Quicksand,sans-serif;font-size:1rem;line-height:1.6;margin:0 auto 2.5rem;max-width:500px}.bank-cards{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:700px}.bank-card{background:linear-gradient(135deg,#fdf8f0,#fff5e6);border-radius:20px;box-shadow:0 8px 30px #0000000f;flex:1 1;max-width:320px;min-width:260px;padding:2rem 1.5rem;transition:transform .3s ease}.bank-card:hover{transform:translateY(-5px)}.bank-icon{font-size:2.5rem;margin-bottom:1rem}.bank-name{color:var(--primary);font-size:1.1rem;font-weight:700;margin-bottom:.3rem}.bank-name,.bank-owner{font-family:Quicksand,sans-serif}.bank-owner{color:#3d3229;font-size:.95rem;margin-bottom:1rem}.bank-account{align-items:center;display:flex;gap:.8rem;justify-content:center;margin-bottom:1.2rem}.account-number{color:#3d3229;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;letter-spacing:1px}.copy-btn{background:#0000;border:1px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;font-family:Quicksand,sans-serif;font-size:.8rem;font-weight:600;padding:.4rem .8rem;transition:all .3s ease}.copy-btn:hover{background:var(--primary);color:#fff}.copy-btn.copied{background:#28a745;border-color:#28a745;color:#fff}.bank-qr{cursor:pointer;margin-top:.5rem;transition:transform .3s ease}.bank-qr:hover{transform:scale(1.05)}.bank-qr img{background:#fff;border:2px solid #e8ddd0;border-radius:12px;height:180px;object-fit:contain;width:180px}.qr-hint{color:#b0a090;font-size:.75rem;margin-top:.4rem}.bank-branch,.qr-hint{font-family:Quicksand,sans-serif}.bank-branch{color:#8a7968;font-size:.85rem;margin-bottom:.8rem}.qr-lightbox{align-items:center;animation:fadeIn .3s ease;background:#000000d9;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.qr-lightbox-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:90vw;padding:2rem;position:relative;text-align:center}.qr-lightbox-content img{border-radius:12px;height:300px;object-fit:contain;width:300px}.qr-lightbox-close{align-items:center;background:var(--accent);border:none;border-radius:50%;box-shadow:0 3px 10px #e639464d;color:#fff;cursor:pointer;display:flex;font-size:1.3rem;height:36px;justify-content:center;position:absolute;right:-15px;top:-15px;transition:transform .3s;width:36px}.qr-lightbox-close:hover{transform:scale(1.1)}.qr-lightbox-info{margin-top:1rem}.qr-lightbox-info h3{color:var(--primary);font-family:Quicksand,sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.3rem}.qr-lightbox-info p{color:#3d3229;font-family:Quicksand,sans-serif;font-size:.95rem}.qr-lightbox-stk{font-family:Playfair Display,serif;font-size:1.2rem!important;font-weight:700;letter-spacing:2px;margin-top:.3rem}.qr-lightbox-branch{color:#8a7968!important;font-size:.85rem!important}.footer{background:linear-gradient(135deg,#3d3229,#2a2119);padding:3rem 1.5rem 2rem;text-align:center}.footer-content{margin:0 auto;max-width:500px}.footer-heart{animation:heartbeat 1.5s ease-in-out infinite;color:var(--accent)}.footer-heart,.footer-names{font-size:2rem;margin-bottom:.8rem}.footer-names{color:var(--primary);font-family:Dancing Script,cursive}.footer-thanks{color:#ffffffb3;font-family:Quicksand,sans-serif;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.footer-divider{background:#fff3;height:1px;margin:0 auto 1rem;width:60px}.footer-copyright{color:#fff6;font-family:Quicksand,sans-serif;font-size:.8rem}.invite-cover{align-items:center;animation:fadeIn 1s ease;background:linear-gradient(135deg,#fdf8f0 0,var(--secondary) 50%,#fff5e6 100%);display:flex;justify-content:center;min-height:100vh;text-align:center}.invite-cover-content{max-width:400px;padding:3rem 2rem}.invite-ornament{animation:rotateStar 8s linear infinite;color:var(--primary);font-size:2rem;margin-bottom:1rem}.invite-label{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.9rem;letter-spacing:4px;margin-bottom:.5rem;text-transform:uppercase}.invite-couple{color:var(--primary);font-family:Dancing Script,cursive;font-size:2.5rem;line-height:1.3;margin-bottom:2rem;white-space:nowrap}.invite-guest{margin-bottom:2.5rem}.invite-greeting{color:#8a7968;font-family:Quicksand,sans-serif;font-size:.9rem;letter-spacing:2px;text-transform:uppercase}.invite-guest-name{-webkit-text-fill-color:#0000;animation:gradientShift 4s ease-in-out infinite;background:linear-gradient(135deg,#f5d16e,#f0a35c,#e8725a,#f5d16e);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;font-family:Dancing Script,cursive;font-size:1.8rem;margin-top:.3rem}.invite-open-btn{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary),#c9956a);border:none;border-radius:50px;box-shadow:0 8px 30px #d4a37366;color:#fff;cursor:pointer;font-family:Quicksand,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:1px;padding:1rem 3rem;transition:transform .3s ease,box-shadow .3s ease}.invite-open-btn:hover{box-shadow:0 12px 40px #d4a37380;transform:translateY(-3px)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.invite-hint{color:#b0a090;font-family:Quicksand,sans-serif;font-size:.8rem;margin-top:1rem}.music-embed.music-hidden{height:1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:55px;width:1px}.loading-screen{background:var(--secondary);min-height:100vh}.loading-heart{animation:heartbeat 1s ease-in-out infinite;color:var(--accent)}@media (max-width:768px){.story-timeline:before{left:20px}.story-left,.story-right{flex-direction:row;padding-left:60px;padding-right:0;text-align:left}.story-date-badge{height:40px;left:20px;transform:translateX(-50%);width:40px}.story-icon{font-size:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.couple-container{align-items:center;flex-direction:column;gap:0}.couple-card{margin-bottom:0;min-width:0;min-width:auto;width:100%}.couple-heart-divider{margin:1rem 0}.couple-avatar-large{height:130px;width:130px}.couple-fullname{font-size:1.5rem}.bank-cards{align-items:center;flex-direction:column}}@media (max-width:480px){.gallery-grid{gap:.6rem;grid-template-columns:repeat(2,1fr)}.couple-card{padding:1.5rem 1rem}.couple-avatar-large{height:110px;width:110px}.couple-fullname{font-size:1.3rem}.story-content{padding:1rem}.story-title{font-size:1rem}.bank-card{min-width:0;min-width:auto;padding:1.5rem 1rem}.radio-group{flex-direction:column;gap:.5rem}.footer-names{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-page{background:#f8f9fa;font-family:Segoe UI,sans-serif;margin:0 auto;max-width:900px;min-height:100vh;padding:2rem 1.5rem}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.admin-header h1{color:#333;font-size:1.6rem}.admin-preview-btn{background:#d4a373;border-radius:8px;color:#fff;font-size:.9rem;padding:.5rem 1.2rem;text-decoration:none;transition:background .2s}.admin-preview-btn:hover{background:#c4935f}.admin-message{animation:fadeIn .3s ease;background:#d4edda;border-radius:8px;color:#155724;margin-bottom:1rem;padding:.8rem 1rem;text-align:center}.admin-tabs{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:0;margin-bottom:1.5rem;overflow:hidden}.admin-tabs button{background:#fff;border:none;color:#666;cursor:pointer;flex:1 1;font-size:.95rem;padding:.9rem;transition:all .2s}.admin-tabs button.active{background:#d4a373;color:#fff;font-weight:600}.admin-tabs button:hover:not(.active){background:#f5f0eb}.admin-section{display:flex;flex-direction:column;gap:1.5rem}.admin-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000f;padding:1.5rem}.admin-card h2{border-bottom:2px solid #faedcd;color:#333;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.admin-avatar-group{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.admin-avatar{border:3px solid #d4a373;border-radius:50%;cursor:pointer;height:100px;object-fit:cover;transition:transform .2s;width:100px}.admin-avatar:hover{transform:scale(1.05)}.admin-upload-btn{background:#fff;border:2px solid #d4a373;border-radius:8px;color:#d4a373;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.admin-upload-btn:hover{background:#d4a373;color:#fff}.gallery-add-btn{font-size:.95rem;margin-bottom:1rem;padding:.7rem 1.5rem}.admin-form{gap:.8rem}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{color:#666;font-size:.85rem;font-weight:500;gap:.3rem}.admin-form input{border:1.5px solid #e0e0e0;border-radius:8px;color:#333;font-size:.95rem;padding:.7rem .9rem;transition:border-color .2s}.admin-form input:focus{border-color:#d4a373;outline:none}.admin-cover-preview{text-align:center}.admin-cover-preview img{border-radius:10px;margin-bottom:1rem;max-height:250px;object-fit:cover;width:100%}.admin-gallery-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.admin-gallery-item{border-radius:10px;box-shadow:0 2px 6px #0000001a;overflow:hidden;position:relative}.admin-gallery-item img{display:block;height:150px;object-fit:cover;width:100%}.admin-delete-btn{background:#dc3545e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;opacity:0;padding:.3rem .6rem;position:absolute;right:6px;top:6px;transition:opacity .2s}.admin-gallery-item:hover .admin-delete-btn{opacity:1}.admin-save-btn{align-self:center;background:#d4a373;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.9rem 2rem;transition:background .2s}.admin-save-btn:hover{background:#c4935f}.admin-save-btn:disabled{background:#ccc;cursor:not-allowed}.admin-loading{align-items:center;color:#666;display:flex;font-size:1.1rem;height:100vh;justify-content:center}@media (max-width:600px){.admin-page{padding:1rem}.admin-header h1{font-size:1.2rem}.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}.admin-avatar{height:80px;width:80px}}.admin-bank-header{align-items:center;border-bottom:2px solid #faedcd;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.admin-bank-header h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-bank-layout{align-items:flex-start;display:flex;gap:1.5rem}.admin-bank-qr{align-items:center;display:flex;flex-direction:column;gap:.8rem;min-width:160px}.admin-qr-preview{border:2px solid #eee;border-radius:10px;object-fit:contain}.admin-qr-placeholder,.admin-qr-preview{background:#fafafa;height:150px;width:150px}.admin-qr-placeholder{align-items:center;border:2px dashed #ccc;border-radius:10px;color:#999;display:flex;font-size:.85rem;justify-content:center}.admin-bank-form{flex:1 1}@media (max-width:600px){.admin-bank-layout{align-items:center;flex-direction:column}.admin-bank-form{width:100%}}.admin-create-form{align-items:center;display:flex;gap:.8rem;margin-bottom:.5rem}.admin-create-input{border:1.5px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:.95rem;padding:.7rem .9rem}.admin-create-input:focus{border-color:#d4a373;outline:none}.admin-hint{color:#999;font-size:.8rem;margin-top:.3rem}.admin-couple-list{display:flex;flex-direction:column;gap:1rem}.admin-couple-card{align-items:center;background:#fafafa;border:1px solid #eee;border-radius:10px;display:flex;justify-content:space-between;padding:1rem 1.2rem;transition:box-shadow .2s}.admin-couple-card:hover{box-shadow:0 2px 10px #00000014}.admin-couple-info h3{color:#333;font-size:1.1rem;margin-bottom:.2rem}.admin-couple-slug{color:#d4a373;font-family:monospace;font-size:.85rem}.admin-couple-date{color:#999;font-size:.8rem;margin-top:.2rem}.admin-couple-actions{align-items:center;display:flex;gap:.5rem}.admin-edit-btn{background:#d4a373;border-radius:6px;color:#fff;font-size:.85rem;padding:.4rem .9rem;text-decoration:none;transition:background .2s}.admin-edit-btn:hover{background:#c4935f}.admin-delete-couple-btn{background:#fff;border:1.5px solid #dc3545;border-radius:6px;color:#dc3545;cursor:pointer;font-size:.85rem;padding:.4rem .9rem;transition:all .2s}.admin-delete-couple-btn:hover{background:#dc3545;color:#fff}.admin-back-link{color:#d4a373;display:inline-block;font-size:.9rem;margin-bottom:.3rem;text-decoration:none}.admin-back-link:hover{text-decoration:underline}@media (max-width:600px){.admin-couple-card{align-items:flex-start;flex-direction:column;gap:.8rem}.admin-couple-actions{width:100%}.admin-create-form{flex-direction:column}.admin-create-form .admin-save-btn{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-template-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1.2rem}.admin-template-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:border-color .2s,transform .2s,box-shadow .2s}.admin-template-card:hover{border-color:#d4a373;box-shadow:0 6px 20px #0000001a;transform:translateY(-3px)}.admin-template-card.active{border-color:#d4a373;box-shadow:0 0 0 3px #d4a37340}.admin-template-preview{height:120px;overflow:hidden;position:relative}.admin-template-bg{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;padding:12px;width:100%}.admin-template-bar{border-radius:4px;height:8px;opacity:.9;width:70%}.admin-template-dots{display:flex;gap:6px}.admin-template-dots span{border-radius:50%;display:block;height:24px;opacity:.85;width:24px}.admin-template-btn-preview{border-radius:5px;height:10px;opacity:.7;width:60%}.admin-template-effect{font-size:1.2rem;position:absolute;right:8px;top:6px}.admin-template-info{padding:.8rem 1rem}.admin-template-info h3{color:#333;font-size:.95rem;font-weight:600;margin:0 0 .3rem}.admin-template-info p{color:#777;font-size:.78rem;line-height:1.4;margin:0}.admin-template-active-badge{background:#d4a373;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;left:8px;padding:2px 8px;position:absolute;top:8px}@media (max-width:480px){.admin-template-grid{grid-template-columns:1fr 1fr}}.admin-rsvp-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.admin-rsvp-item{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #4a7c59;border-radius:8px;padding:.75rem 1rem}.admin-rsvp-item.rsvp-no{border-left-color:#e63946;opacity:.85}.admin-rsvp-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.admin-rsvp-main strong{color:#2d3436;font-size:1.05rem}.admin-rsvp-status{color:#4a7c59;font-size:.9rem;font-weight:600;white-space:nowrap}.admin-rsvp-item.rsvp-no .admin-rsvp-status{color:#e63946}.admin-rsvp-note{color:#555;font-style:italic;margin:.4rem 0 .2rem}.admin-rsvp-time{color:#9aa0a6;font-size:.8rem}.template-modern-white{--gradient-primary:linear-gradient(135deg,var(--primary),#1a1a1a);--gradient-secondary:linear-gradient(135deg,var(--secondary) 0%,#fff 100%)}.template-modern-white .invite-cover{background:linear-gradient(135deg,#fff 0,var(--secondary) 50%,#f8f8f8 100%)}.template-modern-white .invite-ornament{color:var(--accent)}.template-modern-white .invite-open-btn{background:linear-gradient(135deg,var(--primary),#1a1a1a);font-family:Quicksand,sans-serif;font-size:.85rem;letter-spacing:3px;text-transform:uppercase}.template-modern-white .section-title{font-size:1.3rem;letter-spacing:4px;text-transform:uppercase}.template-modern-white .section-title:after{height:1px;width:40px}.template-modern-white .couple-info-section{background:linear-gradient(135deg,var(--secondary) 0,#fff 100%)}.template-modern-white .countdown-item{background:var(--primary);border-radius:4px;color:#fff}.template-modern-white .countdown-number{color:#fff}.template-modern-white .countdown-label{color:#fffc}.template-modern-white .event-card{background:linear-gradient(135deg,var(--secondary) 0,#fff 100%);border-left:3px solid var(--accent);border-radius:4px}.template-modern-white .rsvp-submit-btn,.template-modern-white .submit-btn{background:linear-gradient(135deg,var(--primary),#1a1a1a);border-radius:4px;font-size:.85rem;letter-spacing:2px;text-transform:uppercase}.template-modern-white .gallery-section{background:linear-gradient(135deg,#fff 0,var(--secondary) 100%)}.template-modern-white .floating-particle{background:#c8c8c8b3;border-radius:50%}.template-modern-white .nav-link.active{color:var(--accent)}.template-garden-green{--gradient-primary:linear-gradient(135deg,var(--primary),#3a6248);--gradient-secondary:linear-gradient(135deg,var(--secondary) 0%,#f0faec 100%)}.template-garden-green .invite-cover{background:linear-gradient(135deg,#f0faec 0,var(--secondary) 50%,#e0f2d5 100%)}.template-garden-green .invite-ornament{color:var(--accent)}.template-garden-green .invite-open-btn{background:linear-gradient(135deg,var(--primary),#3a6248)}.template-garden-green .invite-couple,.template-garden-green .invite-cover-content{color:var(--primary)}.template-garden-green .couple-info-section{background:linear-gradient(135deg,var(--secondary) 0,#f0faec 100%)}.template-garden-green .gallery-section{background:linear-gradient(135deg,#f0faec 0,var(--secondary) 100%)}.template-garden-green .event-card{background:linear-gradient(135deg,var(--secondary) 0,#f0faec 100%);border-left:4px solid var(--primary)}.template-garden-green .rsvp-submit-btn,.template-garden-green .submit-btn{background:linear-gradient(135deg,var(--primary),#3a6248)}.template-garden-green .section-title:after{background:var(--accent)}.template-garden-green .floating-particle{background:var(--primary);border-radius:50% 0 50% 0}.template-royal-blue{--gradient-primary:linear-gradient(135deg,var(--primary),#0d1e3d);--gradient-secondary:linear-gradient(135deg,var(--secondary) 0%,#f8f0e5 100%)}.template-royal-blue .invite-cover{background:linear-gradient(135deg,#0d1e3d 0,var(--primary) 50%,#1e3a6a 100%)}.template-royal-blue .invite-cover-content{color:var(--secondary)}.template-royal-blue .invite-couple{color:var(--accent)}.template-royal-blue .invite-label{color:#f0e6d3cc}.template-royal-blue .invite-greeting{color:#f0e6d3e6}.template-royal-blue .invite-hint{color:#f0e6d399}.template-royal-blue .invite-open-btn{background:linear-gradient(135deg,var(--accent),#a07830);color:#fff}.template-royal-blue .invite-ornament{color:var(--accent)}.template-royal-blue .couple-info-section{background:linear-gradient(135deg,var(--secondary) 0,#f8f0e5 100%)}.template-royal-blue .gallery-section{background:linear-gradient(135deg,#f8f0e5 0,var(--secondary) 100%)}.template-royal-blue .event-card{background:linear-gradient(135deg,var(--secondary) 0,#f8f0e5 100%);border-left:4px solid var(--accent)}.template-royal-blue .section-title{font-size:1.2rem;letter-spacing:4px;text-transform:uppercase}.template-royal-blue .section-title:after{background:var(--accent);height:2px}.template-royal-blue .rsvp-submit-btn,.template-royal-blue .submit-btn{background:linear-gradient(135deg,var(--accent),#a07830);color:#fff}.template-royal-blue .countdown-item{background:var(--primary);border:1px solid var(--accent);border-radius:0}.template-royal-blue .countdown-number{color:var(--accent)}.template-royal-blue .countdown-label{color:#f0e6d3cc}.template-royal-blue .floating-particle{background:#0000;border:2px solid #c9a84c66;border-radius:50%}.floating-effect-container,.floating-petals-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.floating-petal{animation:petalFall linear forwards;background:radial-gradient(circle at 30% 30%,#ffb7c5,#e87c8e);border-radius:50% 0 50% 0;position:absolute;top:-20px;will-change:transform}@keyframes petalFall{0%{opacity:.8;transform:translateY(0) rotate(0deg) translateX(0)}25%{transform:translateY(250px) rotate(90deg) translateX(30px)}50%{transform:translateY(500px) rotate(180deg) translateX(-20px)}75%{transform:translateY(750px) rotate(270deg) translateX(25px)}to{opacity:0;transform:translateY(1100px) rotate(1turn) translateX(-10px)}}.floating-snow{animation:snowFall linear forwards;background:#dcebffd9;border-radius:50%;position:absolute;top:-10px;will-change:transform}@keyframes snowFall{0%{opacity:.9;transform:translateY(0) translateX(0) rotate(0deg)}33%{transform:translateY(330px) translateX(15px) rotate(120deg)}66%{transform:translateY(660px) translateX(-10px) rotate(240deg)}to{opacity:0;transform:translateY(1100px) translateX(5px) rotate(1turn)}}.floating-leaf{animation:leafFall linear forwards;border-radius:50% 0 50% 0;position:absolute;top:-20px;will-change:transform}@keyframes leafFall{0%{opacity:.85;transform:translateY(0) rotate(0deg) translateX(0)}20%{transform:translateY(200px) rotate(72deg) translateX(40px)}40%{transform:translateY(400px) rotate(144deg) translateX(-30px)}60%{transform:translateY(600px) rotate(216deg) translateX(35px)}80%{transform:translateY(800px) rotate(288deg) translateX(-20px)}to{opacity:0;transform:translateY(1100px) rotate(1turn) translateX(10px)}}.floating-bubble{animation:bubbleRise linear forwards;background:#0000;border:1.5px solid #c9a84c80;border-radius:50%;bottom:-40px;box-shadow:inset 0 0 6px #c9a84c26;position:absolute;will-change:transform}@keyframes bubbleRise{0%{opacity:.7;transform:translateY(0) translateX(0) scale(1)}30%{transform:translateY(-30vh) translateX(20px) scale(1.05)}60%{transform:translateY(-60vh) translateX(-15px) scale(.95)}to{opacity:0;transform:translateY(-110vh) translateX(10px) scale(1)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:#fdf8f0;color:#3d3229;font-family:Quicksand,sans-serif;overflow-x:hidden}img{height:auto;max-width:100%}.loading-screen{align-items:center;background:#fdf8f0;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-heart{animation:heartbeat 1.2s ease-in-out infinite;color:#e63946;color:var(--accent,#e63946);font-size:3rem}.loading-screen p{color:#8a7968;font-family:Quicksand,sans-serif;font-size:1rem;margin-top:1rem}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}
/*# sourceMappingURL=main.781ce3f1.css.map*/