:root,[data-theme=nude-peach]{--color-primary:#f2b8c6;--color-primary-light:#fde8ee;--color-primary-dark:#e07a96;--color-accent:#c94f72;--color-accent-light:#e07a96;--color-accent-hover:#a83a5c;--color-gold:#c9a84c;--color-gold-light:#e8d5a3;--color-gold-dark:#8b6914;--color-bg:#fff;--color-bg-secondary:#fef0f4;--color-bg-dark:#fff;--color-bg-section:#fef0f4;--color-bg-card:#fff;--color-bg-overlay:#fef0f4f5;--color-text:#2c1a24;--color-text-light:#7a4d62;--color-text-muted:#9a6478;--color-text-dim:#c09ab0;--color-white:#fff;--color-divider:#f4c2cf;--color-border:#f2b8c673;--color-border-light:#f2b8c640;--color-secondary:#c94f72;--color-secondary-light:#e07a96;--shadow-sm:0 2px 8px #2c1a240d;--shadow-md:0 4px 16px #2c1a2414;--shadow-lg:0 8px 32px #2c1a241a;--shadow-glow:0 0 20px #c94f722e}[data-theme=dark-gold]{--color-primary:#c9a87c;--color-primary-light:#e8d5b7;--color-primary-dark:#a68a5b;--color-secondary:#8b4557;--color-secondary-light:#b86b7a;--color-accent:#d4a5a5;--color-accent-light:#f0d5d5;--color-bg-dark:#0a0a0a;--color-bg-section:#111;--color-bg-card:#1a1a1a;--color-bg-overlay:#0a0a0ad9;--color-text:#f5f0eb;--color-text-muted:#a09890;--color-text-dim:#6b6560;--color-white:#fff;--color-border:#c9a87c33;--color-border-light:#c9a87c1a;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #c9a87c26}:root{--font-heading:"Lora",Georgia,serif;--font-body:"Be Vietnam Pro",sans-serif;--font-script:"Great Vibes",cursive;--font-accent:"Great Vibes",cursive;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:8rem;--transition-fast:.2s cubic-bezier(.4,0,.2,1);--transition-normal:.4s cubic-bezier(.4,0,.2,1);--transition-slow:.8s cubic-bezier(.4,0,.2,1);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:500;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:clamp(1.5rem,3vw,2.5rem)}a{color:var(--color-primary-dark);transition:color var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-decoration:none}a:hover{color:var(--color-accent)}img{max-width:100%;height:auto}button{font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;outline:none}input,textarea,select{font-family:var(--font-body);outline:none}.preloader{background:var(--color-bg-dark);z-index:10000;justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.preloader__heart{opacity:0;font-size:3rem}.preloader__names{font-family:var(--font-script);color:var(--color-accent);opacity:0;text-align:center;font-size:clamp(2rem,5vw,4rem)}.preloader__date{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:var(--color-text-muted);opacity:0;font-size:.9rem}.preloader__line{background:linear-gradient(90deg,transparent,var(--color-primary),transparent);width:0;height:1px}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100svh;display:flex;position:relative;overflow:hidden}.hero__bg{object-fit:cover;opacity:.4;filter:brightness(.5);width:100%;height:100%;position:absolute;top:0;left:0}.hero__overlay{background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg-dark)20%,transparent)0%,color-mix(in srgb,var(--color-bg-dark)55%,transparent)50%,var(--color-bg-overlay)100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero__content{z-index:2;padding:var(--space-lg);position:relative}.hero__subtitle{font-family:var(--font-body);letter-spacing:6px;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md);opacity:0;font-size:.85rem}.hero__names{font-family:var(--font-script);color:var(--color-white);margin-bottom:var(--space-sm);opacity:0;font-size:clamp(3rem,8vw,7rem);line-height:1.3}.hero__ampersand{font-family:var(--font-script);color:var(--color-accent-light);margin:var(--space-xs)0;font-size:clamp(2rem,5vw,4rem);display:block}.hero__date{font-family:var(--font-body);letter-spacing:4px;color:var(--color-text-muted);margin-top:var(--space-lg);opacity:0;font-size:1.1rem}.hero__scroll-indicator{align-items:center;gap:var(--space-sm);opacity:0;z-index:2;flex-direction:column;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll-indicator span{letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem}.hero__scroll-line{background:var(--color-primary);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}@keyframes labelShimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes dividerExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes countdownTick{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-6px)scale(1.06)}60%{transform:translateY(2px)scale(.98)}to{transform:translateY(0)scale(1)}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.section{padding:var(--space-2xl)var(--space-lg);position:relative}.section--dark{background:var(--color-bg-section)}.section__header{text-align:center;margin-bottom:var(--space-xl)}.section__label{font-family:var(--font-body);letter-spacing:5px;text-transform:uppercase;margin-bottom:var(--space-sm);background:linear-gradient(90deg,var(--color-primary-dark)20%,var(--color-accent)50%,var(--color-primary-dark)80%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:.75rem;animation:5s linear infinite labelShimmer;display:block}.section__title{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--space-md);font-size:clamp(2rem,4vw,3.5rem);font-weight:300}.section__divider{background:linear-gradient(90deg,transparent,var(--color-gold),transparent);transform-origin:50%;width:60px;height:1px;margin:0 auto;animation:.9s cubic-bezier(.4,0,.2,1) both dividerExpand}.countdown{justify-content:center;gap:clamp(var(--space-md),4vw,var(--space-xl));margin-top:var(--space-xl);display:flex}.countdown__item{text-align:center;min-width:80px}.countdown__number{font-family:var(--font-heading);color:var(--color-accent);will-change:transform;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1;transition:color .2s;display:block}.countdown__number--tick{animation:.4s cubic-bezier(.34,1.56,.64,1) countdownTick}.countdown__label{letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-sm);font-size:.7rem;display:block}.story{position:relative;overflow:hidden}.story__chapter{min-height:100vh;padding:var(--space-xl)var(--space-lg);align-items:center;display:flex;position:relative}.story__chapter--reverse{flex-direction:row-reverse}.story__image-wrapper{border-radius:var(--radius-md);flex:1;max-height:70vh;position:relative;overflow:hidden}.story__image{object-fit:cover;width:100%;height:100%;transition:transform 1.2s}.story__image-wrapper:hover .story__image{transform:scale(1.05)}.story__text{padding:var(--space-xl);flex:1;max-width:500px}.story__date-badge{letter-spacing:3px;text-transform:uppercase;color:var(--color-primary);border:1px solid var(--color-border);padding:var(--space-xs)var(--space-md);border-radius:var(--radius-full);margin-bottom:var(--space-md);font-size:.75rem;display:inline-block}.story__chapter-title{font-family:var(--font-heading);margin-bottom:var(--space-md);font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic;font-weight:400}.story__chapter-text{color:var(--color-text-muted);font-size:.95rem;line-height:1.8}.pinned-reveal{height:300vh;position:relative}.pinned-reveal__content{justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.pinned-reveal__bg{object-fit:cover;opacity:.3;width:100%;height:100%;position:absolute;top:0;left:0}.pinned-reveal__text{z-index:2;text-align:center;padding:var(--space-xl);max-width:800px;position:relative}.pinned-reveal__quote{font-family:var(--font-heading);color:var(--color-accent);opacity:0;font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic;font-weight:300;line-height:1.6}.gallery__hero{aspect-ratio:3/4;cursor:pointer;width:100%;margin-bottom:var(--space-md);position:relative;overflow:hidden}.gallery__hero img,.gallery__hero>div{object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery__hero:hover img,.gallery__hero:hover>div{transform:scale(1.03)}.gallery__hero-overlay{padding:var(--space-xl);pointer-events:none;background:linear-gradient(#0000 40%,#00000080);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.gallery__hero-names{font-family:var(--font-script);color:#fff;text-shadow:0 2px 10px #0000004d;font-size:clamp(2rem,5vw,4rem)}.gallery__hero-date{font-family:var(--font-body);letter-spacing:4px;color:#fffc;text-transform:uppercase;margin-top:var(--space-xs);font-size:.9rem}.gallery__carousel{gap:var(--space-sm);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--space-lg);padding-bottom:var(--space-sm);display:flex;overflow-x:auto}.gallery__carousel::-webkit-scrollbar{display:none}.gallery__slide{aspect-ratio:4/5;border-radius:var(--radius-md);scroll-snap-align:start;cursor:pointer;flex-shrink:0;width:75vw;max-width:300px;position:relative;overflow:hidden}.gallery__slide img,.gallery__slide>div{object-fit:cover;width:100%;height:100%;transition:transform .6s}.gallery__slide:hover img,.gallery__slide:hover>div{transform:scale(1.05)}.gallery__slide-caption{padding:var(--space-md);color:#fff;opacity:0;transition:opacity var(--transition-normal);background:linear-gradient(#0000,#00000080);font-size:.8rem;position:absolute;bottom:0;left:0;right:0}.gallery__slide:hover .gallery__slide-caption{opacity:1}@media (min-width:769px){.gallery__hero{aspect-ratio:16/9}}.lightbox{-webkit-backdrop-filter:blur(10px);z-index:9999;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--transition-normal);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.lightbox--active{opacity:1;pointer-events:all}.lightbox__image{object-fit:contain;border-radius:var(--radius-md);max-width:90%;max-height:90%}.lightbox__close{top:var(--space-lg);right:var(--space-lg);color:var(--color-white);cursor:pointer;border-radius:var(--radius-full);width:48px;height:48px;transition:background var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute}.lightbox__close:hover{background:#ffffff1a}.wedding-info__cards{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-width:1000px;margin:0 auto;display:grid}.wedding-info__card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;transition:transform var(--transition-normal),border-color var(--transition-normal)}.wedding-info__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md),0 0 0 1px var(--color-primary);transform:translateY(-6px)}.wedding-info__icon{margin-bottom:var(--space-md);font-size:2.5rem}.wedding-info__card-title{font-family:var(--font-heading);margin-bottom:var(--space-sm);color:var(--color-accent);font-size:1.5rem}.wedding-info__card-text{color:var(--color-text-muted);font-size:.9rem;line-height:1.8}.wedding-info__map{margin-top:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);max-width:1000px;margin-left:auto;margin-right:auto;overflow:hidden}.wedding-info__map iframe{border:none;width:100%;height:400px}.rsvp__form{gap:var(--space-md);flex-direction:column;max-width:600px;margin:0 auto;display:flex}.rsvp__options{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.rsvp__option{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);cursor:pointer;text-align:center;appearance:none;padding:1.4rem .75rem 1.2rem;font-family:inherit;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,background .2s,box-shadow .2s;position:relative}.rsvp__option:hover{border-color:var(--color-primary-dark);background:var(--color-primary-light);transform:translateY(-3px)}.rsvp__option--active{border-color:var(--color-accent);background:var(--color-primary-light);box-shadow:var(--shadow-glow),var(--shadow-sm);transform:translateY(-3px)}.rsvp__option--active:after{content:"✓";color:var(--color-accent);font-size:.6rem;font-weight:700;line-height:1;position:absolute;top:.45rem;right:.55rem}.rsvp__option-icon{margin-bottom:.55rem;font-size:1.9rem;line-height:1;display:block}.rsvp__option-label{font-family:var(--font-body);color:var(--color-text-muted);font-size:.78rem;line-height:1.45;display:block}.rsvp__option--active .rsvp__option-label{color:var(--color-accent);font-weight:500}.rsvp__stepper{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);align-items:center;gap:0;max-width:180px;display:flex;overflow:hidden}.rsvp__stepper-btn{background:var(--color-primary-light);width:44px;height:44px;color:var(--color-accent);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:300;display:flex}.rsvp__stepper-btn:hover{background:var(--color-primary);color:var(--color-white)}.rsvp__stepper-btn:disabled{opacity:.3;cursor:not-allowed}.rsvp__stepper-value{text-align:center;font-family:var(--font-heading);color:var(--color-text);pointer-events:none;-webkit-user-select:none;user-select:none;flex:1;font-size:1.15rem;font-weight:400}@media (max-width:520px){.rsvp__options{grid-template-columns:1fr}.rsvp__option{text-align:left;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.rsvp__option-icon{flex-shrink:0;margin-bottom:0;font-size:1.6rem}.rsvp__option-label{font-size:.88rem}.rsvp__option--active:after{top:50%;right:1rem;transform:translateY(-50%)}}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem}.form-input,.form-textarea,.form-select{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--color-text);transition:border-color var(--transition-fast);font-size:.95rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary-dark);box-shadow:0 0 0 3px #e07a9624,var(--shadow-sm);outline:none}.form-textarea{resize:vertical;min-height:120px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a09890' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);border-radius:var(--radius-full);letter-spacing:2px;text-transform:uppercase;transition:all var(--transition-normal);cursor:pointer;border:none;font-size:.85rem;font-weight:500;display:inline-flex}.btn--primary{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:var(--color-white)}.btn--primary:hover{background:linear-gradient(135deg,var(--color-accent-hover),var(--color-accent-hover));transform:translateY(-2px);box-shadow:0 4px 20px #7b2d4259}.btn--outline{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn--outline:hover{background:var(--color-primary);color:var(--color-white)}.btn--sm{padding:var(--space-sm)var(--space-md);font-size:.75rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.guestbook__chat{max-width:700px;margin:var(--space-xl)auto var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);scroll-behavior:smooth;flex-direction:column;gap:.75rem;height:420px;padding:1rem 1.25rem;display:flex;overflow-y:auto}.guestbook__chat::-webkit-scrollbar{width:4px}.guestbook__chat::-webkit-scrollbar-track{background:0 0}.guestbook__chat::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.guestbook__chat-empty{color:var(--color-text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.guestbook__chat-empty span{font-size:2rem}.guestbook__chat-message{align-items:flex-start;gap:.75rem;animation:.35s ease-out chatSlideIn;display:flex}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.guestbook__chat-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex}.guestbook__chat-content{flex:1;min-width:0}.guestbook__chat-header{align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.guestbook__chat-name{font-size:.85rem;font-weight:600}.guestbook__chat-time{color:var(--color-text-dim);font-size:.72rem}.guestbook__chat-text{color:var(--color-text);word-break:break-word;font-size:.88rem;line-height:1.6}.guestbook__form{max-width:700px;margin:0 auto}.guestbook__form-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.guestbook__form-row .form-input{min-width:0}.guestbook__form-row .btn{white-space:nowrap;flex-shrink:0}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.chatbot-toggle{bottom:var(--space-lg);right:var(--space-lg);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));width:60px;height:60px;color:var(--color-white);box-shadow:var(--shadow-lg);z-index:1000;transition:transform var(--transition-fast);justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed}.chatbot-toggle:hover{transform:scale(1.1)}.chatbot{bottom:calc(var(--space-lg) + 70px);right:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:380px;max-height:500px;box-shadow:var(--shadow-lg);z-index:1000;opacity:0;pointer-events:none;transition:all var(--transition-normal);flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateY(20px)scale(.95)}.chatbot--open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.chatbot__header{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-secondary));padding:var(--space-md)var(--space-lg);align-items:center;gap:var(--space-sm);display:flex}.chatbot__header-title{font-family:var(--font-heading);color:var(--color-white);flex:1;font-size:1.1rem}.chatbot__close{color:var(--color-white);padding:var(--space-xs);opacity:.7;transition:opacity var(--transition-fast);background:0 0;font-size:1.2rem}.chatbot__close:hover{opacity:1}.chatbot__messages{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;flex:1;max-height:350px;display:flex;overflow-y:auto}.chatbot__message{max-width:85%;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-lg);font-size:.85rem;line-height:1.6;animation:.3s fadeInUp}.chatbot__message--bot{background:var(--color-bg-section);border:1px solid var(--color-border-light);border-bottom-left-radius:var(--radius-sm);color:var(--color-text-muted);align-self:flex-start}.chatbot__message--user{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:var(--color-bg-dark);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.chatbot__suggestions{gap:var(--space-xs);padding:0 var(--space-md)var(--space-sm);flex-wrap:wrap;display:flex}.chatbot__suggestion{padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-full);background:var(--color-bg-section);border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);font-size:.75rem}.chatbot__suggestion:hover{background:var(--color-primary);color:var(--color-bg-dark);border-color:var(--color-primary)}.chatbot__input-area{gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--color-border-light);display:flex}.chatbot__input{background:var(--color-bg-section);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-sm)var(--space-md);color:var(--color-text);flex:1;font-size:.85rem}.chatbot__input:focus{border-color:var(--color-primary)}.chatbot__send{border-radius:var(--radius-full);background:var(--color-primary);width:36px;height:36px;color:var(--color-bg-dark);transition:transform var(--transition-fast);justify-content:center;align-items:center;font-size:1rem;display:flex}.chatbot__send:hover{transform:scale(1.1)}.language-toggle{bottom:calc(var(--space-lg) + 52px);left:var(--space-lg);border-radius:var(--radius-full);background:var(--color-bg-card);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-primary);font-size:.75rem;font-weight:600;font-family:var(--font-body);letter-spacing:1px;z-index:1000;cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed}.language-toggle:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow);background:var(--color-primary);color:var(--color-white)}.music-toggle{bottom:var(--space-lg);left:var(--space-lg);border-radius:var(--radius-full);background:var(--color-bg-card);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-primary);z-index:1000;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:fixed}.music-toggle:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.music-bars{align-items:flex-end;gap:2px;height:16px;display:flex}.music-bar{background:var(--color-primary);transform-origin:bottom;border-radius:2px;width:3px;height:16px;transition:transform .3s;transform:scaleY(.25)}.music-bars--playing .music-bar:first-child{animation:.6s ease-in-out infinite alternate musicBar}.music-bars--playing .music-bar:nth-child(2){animation:.6s ease-in-out .15s infinite alternate musicBar}.music-bars--playing .music-bar:nth-child(3){animation:.6s ease-in-out .3s infinite alternate musicBar}.music-bars--playing .music-bar:nth-child(4){animation:.6s ease-in-out .45s infinite alternate musicBar}@keyframes musicBar{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.admin-login{min-height:100vh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.admin-login__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;width:100%;max-width:420px}.admin-login__title{font-family:var(--font-script);color:var(--color-accent);margin-bottom:var(--space-sm);font-size:2rem}.admin-login__subtitle{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:.85rem}.admin-login__form{gap:var(--space-md);flex-direction:column;display:flex}.admin-login__error{color:#ff6b7a;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);background:#dc35451a;border:1px solid #dc35454d;font-size:.85rem}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--color-bg-card);border-right:1px solid var(--color-border-light);width:260px;padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.admin-sidebar__brand{font-family:var(--font-script);color:var(--color-primary);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-md);font-size:1.5rem}.admin-sidebar__link{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast);font-size:.9rem;display:flex}.admin-sidebar__link:hover,.admin-sidebar__link--active{color:var(--color-accent);background:#7b2d4214}.admin-sidebar__logout{margin-top:auto}.admin-main{padding:var(--space-xl);flex:1;margin-left:260px}.admin-main__header{margin-bottom:var(--space-xl)}.admin-main__title{font-family:var(--font-heading);margin-bottom:var(--space-xs);font-size:1.8rem}.admin-main__subtitle{color:var(--color-text-muted);font-size:.85rem}.admin-stats{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.admin-stat-card{background:var(--color-bg-section);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg)}.admin-stat-card__icon{margin-bottom:var(--space-sm);font-size:1.5rem}.admin-stat-card__value{font-family:var(--font-heading);color:var(--color-accent);font-size:2rem}.admin-stat-card__label{color:var(--color-text-muted);font-size:.8rem}.admin-table{border-collapse:separate;border-spacing:0;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);width:100%;overflow:hidden}.admin-table th{background:var(--color-bg-section);padding:var(--space-md);text-align:left;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:500}.admin-table td{padding:var(--space-md);border-top:1px solid var(--color-border-light);color:var(--color-text-muted);font-size:.9rem}.admin-table tr:hover td{background:#7b2d4208}.story-form{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-xl)}.story-form__upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-md)}.story-form__upload-zone:hover{border-color:var(--color-accent-light);background:#7b2d420a}.story-form__upload-icon{margin-bottom:var(--space-sm);font-size:2.5rem}.story-form__upload-text{color:var(--color-text-muted);font-size:.9rem}.story-form__preview-grid{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.story-form__preview-item{aspect-ratio:1;border-radius:var(--radius-md);position:relative;overflow:hidden}.story-form__preview-item img{object-fit:cover;width:100%;height:100%}.story-form__preview-remove{border-radius:var(--radius-full);color:#fff;background:#dc3545e6;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;display:flex;position:absolute;top:4px;right:4px}.footer{text-align:center;padding:var(--space-xl)var(--space-lg);border-top:1px solid var(--color-border-light)}.footer__names{font-family:var(--font-script);color:var(--color-primary);margin-bottom:var(--space-sm);font-size:1.5rem}.footer__text{color:var(--color-text-dim);font-size:.8rem}@media (max-width:768px){.hero{height:100svh;min-height:-webkit-fill-available}.pinned-reveal__content{height:auto;min-height:0;padding:3rem 1.5rem;position:relative}.story__chapter{min-height:auto;padding:var(--space-xl)var(--space-md);flex-direction:column!important}.story__text{padding:var(--space-lg)0}.gallery__carousel{padding:0 var(--space-md)}.gallery__slide{width:85vw}.gallery__slide-caption{opacity:1}.wedding-info__cards{grid-template-columns:1fr}.chatbot{width:calc(100% - var(--space-lg)*2);right:var(--space-md);bottom:calc(var(--space-lg) + 70px)}.countdown{gap:var(--space-md)}.admin-sidebar{display:none}.admin-main{margin-left:0}.section{padding:var(--space-xl)var(--space-md)}}@media (hover:none){.gallery__slide:hover img,.gallery__slide:hover>div,.gallery__hero:hover img,.gallery__hero:hover>div,.wedding-info__card:hover{transform:none}.music-toggle:hover,.language-toggle:hover{box-shadow:none;background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-primary)}}@media (max-width:480px){.hero__names{font-size:2.5rem}.guestbook__form-row{flex-direction:column}.guestbook__form-row .btn{width:100%}.lightbox{-webkit-backdrop-filter:blur(4px)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-section)}::-webkit-scrollbar-thumb{background:var(--color-primary-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.toast{bottom:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)var(--space-lg);color:var(--color-text);z-index:10001;box-shadow:var(--shadow-lg);opacity:0;transition:all var(--transition-normal);font-size:.85rem;position:fixed;left:50%;transform:translate(-50%)translateY(100px)}.toast--show{opacity:1;transform:translate(-50%)translateY(0)}.toast--success{border-color:#28a74580}.toast--error{border-color:#dc354580}.version-switch{letter-spacing:3px;text-transform:uppercase;color:var(--color-text-muted);border:1px solid var(--color-border);transition:color var(--transition-fast),border-color var(--transition-fast);font-size:.65rem;font-family:var(--font-body);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem 1.2rem;text-decoration:none;display:inline-flex}.version-switch:hover{color:var(--color-accent);border-color:var(--color-accent-light)}.thankyou__hero{background:linear-gradient(160deg,color-mix(in srgb,var(--color-accent)30%,var(--color-bg-dark))0%,var(--color-bg-dark)60%)}.thankyou__label{font-family:var(--font-body);letter-spacing:6px;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md);opacity:0;font-size:.85rem}.thankyou__title{font-family:var(--font-script);color:var(--color-white);margin-bottom:var(--space-sm);opacity:0;font-size:clamp(3rem,8vw,7rem);line-height:1.3}.thankyou__subtitle{font-family:var(--font-body);letter-spacing:1px;color:var(--color-text-muted);max-width:480px;margin:var(--space-lg)auto 0;opacity:0;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.8}.thankyou__counter{padding:var(--space-xl)var(--space-lg);justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.thankyou__counter-number{font-family:var(--font-heading);color:var(--color-accent);letter-spacing:-2px;font-size:clamp(5rem,15vw,10rem);font-weight:300;line-height:1}.thankyou__counter-label{font-family:var(--font-body);letter-spacing:6px;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem}.thankyou__counter-text{font-family:var(--font-heading);color:var(--color-text-light);margin-top:var(--space-sm);text-align:center;font-size:clamp(1.2rem,3vw,1.8rem);font-style:italic}@media (max-width:480px){.thankyou__counter-number{font-size:5rem}}
