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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--autumn-1:#5f371a;--autumn-2:#a15528;--autumn-3:#c7934e;--autumn-4:#f1d7a7;--accent:#145a32;--white:#fff}#root,body,html{height:100%;height:100dvh;overflow:hidden;width:100%}body{background:linear-gradient(180deg,#3d1f0f,#2a1508 25%,#1a0d05 60%,#0f0703);background-attachment:fixed;background-repeat:no-repeat;background-size:cover;color:#fff;color:var(--white);font-family:Marcellus,ui-serif,Georgia,serif;margin:0}@keyframes bgShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.overlay-pattern{background-image:radial-gradient(#ffffff0f 1px,#0000 0),radial-gradient(#00000014 1px,#0000 0);background-position:0 0,12px 12px;background-size:24px 24px,40px 40px;inset:0;pointer-events:none;position:fixed}.App{align-items:center;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:flex-start;overflow:hidden;width:100%}.App,.hero-card{position:relative}.hero-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;border-radius:18px;box-shadow:none;height:auto;margin:24px 0 12px;padding:1.8rem 2.4rem;width:min(88vw,720px)}.hero-names-container{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin:.6rem 0 .8rem}.hero-names-container .hero-mention-badge,.hero-names-container .hero-names{flex-shrink:0}.hero-mention-badge{background:linear-gradient(135deg,#d4af37,#f4d03f,#d4af37);border:1px solid #d4af374d;border-radius:18px;box-shadow:0 2px 8px #d4af3766,0 0 20px #d4af3733,inset 0 1px 0 #ffffff4d;color:#8b4513;display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.5px;margin-top:.5rem;overflow:hidden;padding:.15rem .5rem;position:relative;text-transform:uppercase}.hero-mention-badge:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.gold-title{animation:goldShine 8s ease-in-out infinite;background:linear-gradient(90deg,#fbe9b7,#d3a048,#fff2c8,#b67b2e);-webkit-background-clip:text;background-clip:text;background-size:300% 100%;color:#0000;font-size:clamp(1.2rem,4vw,2rem);letter-spacing:.02em;line-height:1.1;margin:0 0 .8rem;text-shadow:0 2px 12px #0003}.gold-title-nick:after{animation:caretBlink 1s step-end infinite;color:#ffe5c4;content:"▍";display:inline-block;margin-left:.12em;opacity:.9}@keyframes goldShine{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes caretBlink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-topline{color:#ffe5c4;font-size:.65rem;letter-spacing:.22em;opacity:.95;text-transform:uppercase}.hero-names{color:#fff9f1;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.08;margin:0;white-space:nowrap}.hero-divider{background:linear-gradient(90deg,#0000,#ffe5c4,#0000);height:2px;margin:1rem 0 1.4rem;width:120px}.hero-dates-container{display:flex;flex-direction:column;gap:.4rem}.hero-dates-container .hero-date{display:block}@media (max-width:480px){.hero-date-location{align-items:flex-start;flex-direction:column;gap:.3rem}}.hero-date{font-size:.85rem;font-weight:500}.hero-location{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.location-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .3s ease}.location-button:hover{background:#ffd98a33;transform:scale(1.1)}.location-icon{color:#ffe5c4;height:16px;transition:color .3s ease;width:16px}.location-button:hover .location-icon{color:#ffd98a}.accent-gold{animation:float 10s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffd98a,#cc7a2b);border-radius:50%;filter:blur(4px);opacity:.28;position:absolute}.accent-gold.a{animation-delay:0s;height:140px;left:-24px;top:-24px;width:140px}.accent-gold.b{animation-delay:1.5s;bottom:-40px;height:220px;right:-30px;width:220px}.accent-gold.c{animation-delay:.8s;height:90px;right:-20px;top:40%;width:90px}@keyframes float{0%,to{transform:translateY(0) translateX(0)}50%{transform:translateY(-10px) translateX(6px)}}.cta-next{background:#fff;background:var(--white);border:none;border-radius:9999px;bottom:20px;box-shadow:0 10px 30px #00000040;color:#5f371a;color:var(--autumn-1);cursor:pointer;font-family:Marcellus,ui-serif,Georgia,serif;font-size:.8rem;padding:.7rem 1rem;position:fixed;right:20px;transition:transform .2s ease,box-shadow .2s ease}.cta-next:hover{box-shadow:0 14px 36px #00000052;transform:translateY(-2px)}.pager{display:flex;justify-content:flex-end;padding:16px 20px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.pager-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;box-shadow:0 4px 16px #00000026;color:#fff9f1;font-size:.75rem;font-weight:400;margin-right:8px;padding:6px 10px;transition:all .3s ease}.pager-btn:hover{background:#ffffff40;border-color:#ffd98a66;box-shadow:0 6px 20px #0003;transform:translateY(-1px)}.pager-btn.active{background:#ffe9c6}.leaf{animation:fall linear infinite;background:#ffc16e;border-radius:2px 8px 2px 8px;height:14px;opacity:.18;position:fixed;top:-10vh;width:14px}.body-content{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 24px;position:relative;width:100%}.body-logo{display:flex;justify-content:center;margin-bottom:.8rem;padding:.8rem 0 .6rem}.couple-logo{filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));height:50px;opacity:.9;width:50px}.hero-logo{display:flex;justify-content:center;margin:.8rem 0}.timeline{box-sizing:border-box;margin:0 auto;max-width:720px;padding:18px 2rem 24px calc(2rem + 56px);position:relative;width:100%}.timeline-section-title{color:#fff9f1;font-size:clamp(1.1rem,3vw,1.5rem);font-weight:600;margin:0 0 1.8rem;text-align:center;text-shadow:0 2px 4px #0000004d}.timeline-line{background:linear-gradient(180deg,#ffffff47,#ffffff14);bottom:0;filter:blur(1.2px);left:28px;position:absolute;top:0;transform:none;width:2px}.timeline-content{padding:12px 0}.timeline-entry{display:flex;margin:16px 0 22px;position:static}.timeline-entry.left,.timeline-entry.right{justify-content:flex-start}.timeline-dot{background:#ffd98a;border-radius:50%;box-shadow:0 0 0 4px #ffd98a38;height:10px;left:28px;position:absolute;transform:translate(-50%,12px);width:10px}.timeline-card{background:#0000;border:none;border-radius:0;box-shadow:none;color:#fff8ee;margin-left:0;padding:6px 4px 10px 30px;width:100%}.timeline-title-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.timeline-icon{color:#ffe5c4;font-size:15px}.timeline-title{color:#fff9f1;font-size:.9rem;margin:0}.timeline-subtitle{color:#ffd9a6;font-size:.75rem;margin:0;opacity:.95}.timeline-meta{color:#ffe9c6;font-size:.7rem;margin:4px 0 8px;opacity:.9}.timeline-desc{color:#fff4e6;font-size:.85rem;line-height:1.4;margin:0}@media (max-width:480px){.timeline{padding:18px 1.8rem 24px calc(1.8rem + 48px)}.timeline-card{margin-left:0;padding:6px 4px 10px 26px;width:100%}.hero-card{margin:20px 0 10px;padding:1.6rem 1.8rem}.body-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 16px 20px}.pager-btn{touch-action:manipulation}body{background-attachment:scroll;min-height:100vh;min-height:100dvh}html{background:linear-gradient(180deg,#3d1f0f,#2a1508 25%,#1a0d05 60%,#0f0703)}}@keyframes fall{0%{transform:translateY(-10vh) translateX(0) rotate(0deg)}to{transform:translateY(120vh) translateX(40px) rotate(180deg)}}.dresscode{box-sizing:border-box;margin:0 auto;max-width:720px;padding:0 2rem;width:100%}.dresscode-title{color:#fff9f1;font-size:clamp(1.3rem,3.5vw,1.7rem);font-weight:400;letter-spacing:.02em;margin:0 0 2.2rem;text-align:center}.dresscode-options{display:flex;flex-direction:column;gap:3.2rem;margin-bottom:2.2rem}.dresscode-option{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center}.dresscode-image{border-radius:20px;height:300px;object-fit:cover;width:300px}.dresscode-option-title{align-items:center;color:#ffe5c4;display:flex;flex-direction:column;font-size:.95rem;font-weight:500;gap:.3rem;line-height:1.3;margin:0}.dresscode-subtitle{color:#ffd9a6;font-size:.8rem;font-style:italic;font-weight:400;opacity:.9}.dresscode-note{margin:2rem 0 0;text-align:left}.dresscode-note-content{align-items:center;color:#ffd9a6;display:flex;font-size:.8rem;font-weight:400;gap:.5rem;line-height:1.4}.dresscode-note-icon{color:#ff6b6b;flex-shrink:0;height:16px;width:16px}.gift-note{margin:1.5rem 0 0;text-align:left}.gift-button{align-items:center;animation:constantBounce 2s ease-in-out infinite;background:none;border:none;color:#ffe5c4;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.5rem 0;transition:all .3s ease;width:100%}.gift-button:hover{color:#ffd98a;transform:translateX(2px)}@keyframes constantBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.gift-icon{color:#ffd98a;height:15px;transition:color .3s ease;width:15px}.gift-button:hover .gift-icon{color:#ffe5c4}.gift-message{background:#ffd98a14;border:1px solid #ffd98a33;border-radius:12px;margin-top:.8rem;overflow:hidden;padding:1rem}.gift-message p{color:#ffe5c4;font-size:.8rem;font-weight:400;line-height:1.4;margin:0}@media (max-width:480px){.dresscode-page{padding:18px 14px}.dresscode-options{gap:2.8rem}.dresscode-image{height:250px;width:250px}.dresscode-option-title{font-size:.9rem}.dresscode-subtitle{font-size:.75rem}.dresscode-note{margin:1.5rem 0 0}.dresscode-note-content{font-size:.75rem}.dresscode-note-icon{height:14px;width:14px}.gift-note{margin:1rem 0 0}.gift-button{font-size:.75rem}.gift-icon{height:14px;width:14px}.gift-message{margin-top:.6rem;padding:.8rem}.gift-message p{font-size:.75rem}}.message{box-sizing:border-box;margin:0 auto;max-width:580px;padding:0 2rem;text-align:center;width:100%}.message-icon-container{display:flex;justify-content:center;margin-bottom:2rem}.message-icon{background:#ffd98a1a;border:2px solid #ffd98a4d;border-radius:50%;color:#ffe5c4;height:80px;padding:20px;width:80px}.message-title{color:#fff9f1;font-size:clamp(1.3rem,3.5vw,1.7rem);font-weight:400;letter-spacing:.02em;margin:0 0 1.2rem}.message-subtitle{color:#ffd9a6;font-size:.85rem;line-height:1.5;margin:0 0 3.2rem;opacity:.9}.audio-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.record-button{align-items:center;background:#fff;border:none;border-radius:50px;box-shadow:0 8px 24px #00000026;color:#5a3118;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s ease}.record-button:hover{box-shadow:0 12px 32px #0003;transform:translateY(-2px)}.record-button.recording{animation:pulse 1.5s infinite;background:#f8f9fa;color:#495057}.playback-controls{align-items:center;display:flex;gap:1rem}.play-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:25px;color:#fff9f1;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:10px 20px;transition:all .3s ease}.play-button:hover{background:#ffffff40;border-color:#ffd98a66;transform:translateY(-1px)}.rerecord-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffd98a4d;border-radius:25px;color:#ffd9a6;cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:10px 20px;transition:all .3s ease}.rerecord-button:hover{background:#ffd98a33;border-color:#ffd98a80;transform:translateY(-1px)}.submit-button{align-items:center;background:linear-gradient(135deg,#ffe5c4,#ffd98a);border:none;border-radius:25px;box-shadow:0 6px 20px #ffd98a4d;color:#5a3118;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.submit-button:hover:not(:disabled){box-shadow:0 8px 24px #ffd98a66;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.play-icon,.record-icon,.rerecord-icon,.submit-icon{height:15px;width:15px}.recording-indicator{align-items:center;color:#ff6b6b;display:flex;font-size:.8rem;gap:8px;justify-content:center;margin-top:1rem}.pulse-dot{animation:pulse 1.5s infinite;background:#ff6b6b;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.message-page{padding:18px 14px}.message-icon{height:60px;padding:15px;width:60px}.message-title{font-size:clamp(1.1rem,4vw,1.5rem)}.message-subtitle{font-size:.8rem;margin-bottom:2.2rem}.audio-controls{gap:1rem}.audio-controls,.playback-controls{align-items:center;flex-direction:column}.playback-controls{gap:.8rem}.play-button,.record-button,.rerecord-button,.submit-button{justify-content:center;padding:11px 20px;width:80%}}.verification-page{align-items:center;display:flex;height:100vh;justify-content:center;padding:20px}.verification-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:2rem;text-align:center;width:min(80vw,400px)}.verification-icon{display:flex;justify-content:center;margin-bottom:1.5rem}.lock-icon{background:#ffd98a1a;border:2px solid #ffd98a4d;border-radius:50%;color:#ffe5c4;height:60px;padding:15px;width:60px}.verification-title{color:#fff9f1;font-size:clamp(1.1rem,3vw,1.5rem);font-weight:400;line-height:1.3;margin:0 0 2.2rem}.verification-form{display:flex;flex-direction:column;gap:1rem}.input-container{align-items:center;display:flex;position:relative}.code-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff9f1;font-family:inherit;font-size:.85rem;padding:11px 13px;transition:all .3s ease;width:100%}.code-input:focus{background:#ffffff26;border-color:#ffd98a80;outline:none}.code-input::placeholder{color:#fff9}.code-input:disabled{cursor:not-allowed;opacity:.6}.clear-button{background:none;border:none;border-radius:4px;color:#fff9;cursor:pointer;padding:4px;position:absolute;right:8px;transition:all .2s ease}.clear-button:hover:not(:disabled){background:#ffffff1a;color:#fff9f1}.clear-button:disabled{cursor:not-allowed}.clear-icon{height:16px;width:16px}.verify-button{background:linear-gradient(135deg,#ffe5c4,#ffd98a);border:none;border-radius:12px;box-shadow:0 6px 20px #ffd98a4d;color:#5a3118;cursor:pointer;font-size:.85rem;font-weight:500;padding:11px 20px;transition:all .3s ease}.verify-button:hover:not(:disabled){box-shadow:0 8px 24px #ffd98a66;transform:translateY(-1px)}.verify-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;font-size:.8rem;line-height:1.4;margin-top:1rem;padding:12px 16px}@media (max-width:480px){.verification-page{padding:18px}.verification-container{padding:1.8rem}.lock-icon{height:50px;padding:12px;width:50px}.verification-title{font-size:clamp(1rem,3.5vw,1.4rem);margin-bottom:1.8rem}.code-input{font-size:.85rem;padding:10px 12px}.verify-button{font-size:.85rem;padding:10px 18px}}.maps{box-sizing:border-box;margin:0 auto;max-width:520px;padding:0 2.5rem;text-align:center;width:100%}.maps-icon-container{display:flex;justify-content:center;margin-bottom:2rem}.maps-icon{background:#ffd98a1a;border:2px solid #ffd98a4d;border-radius:50%;color:#ffe5c4;height:80px;padding:20px;width:80px}.maps-title{color:#fff9f1;font-size:clamp(1.3rem,3.5vw,1.7rem);font-weight:400;letter-spacing:.02em;margin:0 0 1.2rem}.maps-subtitle{color:#ffd9a6;font-size:.85rem;line-height:1.5;margin:0 0 2.2rem;opacity:.9}.maps-iframe-container{border-radius:12px;box-shadow:0 8px 24px #0003;margin-bottom:2rem;max-width:100%;overflow:hidden;width:100%}.maps-iframe-container iframe{border:0;display:block;height:300px;width:100%}.directions-button{align-items:center;background:linear-gradient(135deg,#ffe5c4,#ffd98a);border:none;border-radius:25px;box-shadow:0 6px 20px #ffd98a4d;color:#5a3118;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;margin:0 auto;padding:10px 20px;transition:all .3s ease}.directions-button:hover{box-shadow:0 8px 24px #ffd98a66;transform:translateY(-1px)}.directions-icon{height:15px;width:15px}@media (max-width:480px){.maps{padding:0 20px}.maps-icon{height:60px;padding:15px;width:60px}.maps-title{font-size:clamp(1.1rem,4vw,1.5rem)}.maps-subtitle{font-size:.8rem}.maps-iframe-container,.maps-subtitle{margin-bottom:1.8rem}.directions-button{font-size:.85rem;padding:10px 18px}}.loading-page{align-items:center;background:linear-gradient(180deg,#3d1f0f,#2a1508 25%,#1a0d05 60%,#0f0703);display:flex;height:100vh;height:100dvh;justify-content:center}.loading-container{color:#fff;color:var(--white);max-width:400px;padding:2rem;text-align:center}.loading-icon{margin-bottom:1.5rem}.spinner-icon{color:var(--gold);height:48px;width:48px}.loading-title{color:var(--gold);font-size:1.3rem;font-weight:600;margin-bottom:.8rem}.loading-message{font-size:.85rem;line-height:1.5;opacity:.8}.s3-error-page{align-items:center;background:linear-gradient(180deg,#3d1f0f,#2a1508 25%,#1a0d05 60%,#0f0703);display:flex;height:100vh;height:100dvh;justify-content:center}.s3-error-container{color:#fff;color:var(--white);max-width:500px;padding:2rem;text-align:center}.s3-error-icon{margin-bottom:1.5rem}.error-icon{color:#ff6b6b;height:64px;width:64px}.s3-error-title{color:#ff6b6b;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.s3-error-message{font-size:.85rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.s3-error-details{margin-bottom:2rem}.s3-error-details details{background:#0000004d;border-radius:8px;padding:1rem;text-align:left}.s3-error-details summary{color:var(--gold);cursor:pointer;font-weight:500;margin-bottom:.5rem}.s3-error-details code{background:#00000080;border-radius:4px;color:#ff6b6b;display:block;font-family:Courier New,monospace;font-size:.85rem;padding:.5rem;word-break:break-all}.retry-button{align-items:center;background:var(--gold);border:none;border-radius:8px;color:var(--dark-brown);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:9px 20px;transition:all .3s ease}.retry-button:hover{background:#ffd98a;transform:translateY(-2px)}.retry-icon{height:15px;width:15px}@media (max-width:480px){.loading-container,.s3-error-container{max-width:90vw;padding:1.8rem}.loading-title,.s3-error-title{font-size:1.1rem}.loading-message,.s3-error-message{font-size:.8rem}.spinner-icon{height:40px;width:40px}.error-icon{height:56px;width:56px}.retry-button{font-size:.8rem;padding:8px 18px}}.timeline-loading{align-items:center;color:#ffe5c4;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 0}.timeline-loading p{font-size:.9rem;margin:0;opacity:.8}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#ffe5c4;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.hero-title-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:.8rem}.logout-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#fff9;cursor:pointer;flex-shrink:0;font-size:.65rem;font-weight:400;padding:4px 8px;transition:all .3s ease}.logout-button:hover{background:#ffffff26;border-color:#ffffff4d;color:#fffc;transform:translateY(-1px)}.success-notification{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 10px 25px #10b9814d;color:#fff;display:flex;font-weight:500;gap:12px;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:1000}.success-icon{flex-shrink:0;height:20px;width:20px}@media (max-width:480px){.success-notification{border-radius:8px;font-size:.8rem;padding:12px 16px;right:12px;top:12px}.success-icon{height:15px;width:15px}.logout-button{font-size:.6rem;padding:3px 6px}}
/*# sourceMappingURL=main.5affce27.css.map*/