@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Great+Vibes&display=swap);body{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}body{background:linear-gradient(180deg,#c0a571,#7f7156 50%,#f5e6c8);font-family:Georgia,Times New Roman,serif;margin:0;position:relative}body:before{background-image:radial-gradient(circle at 20% 20%,#d4a01714 0,#0000 50%),radial-gradient(circle at 80% 80%,#8b1a2b0f 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.wedding-album-container{background:linear-gradient(180deg,#dcd689,#bd890e);border-radius:8px;box-shadow:0 5px 30px #3d1f0026,0 0 0 4px #8b1a2b,0 0 0 6px #d4a017,0 0 0 8px #8b1a2b;font-family:Georgia,Times New Roman,serif;margin:40px auto;max-width:600px;overflow:hidden;padding:40px;position:relative;z-index:1}.wedding-album-container:before{top:8px}.wedding-album-container:after,.wedding-album-container:before{font-size:24px;left:50%;letter-spacing:4px;opacity:.9;position:absolute;text-shadow:0 2px 4px #0000001a;transform:translateX(-50%)}.wedding-album-container:after{bottom:8px}.wedding-album-container .side-left,.wedding-album-container .side-right{font-size:40px;opacity:.15;position:absolute;top:50%;transform:translateY(-50%)}.wedding-album-container .side-left{left:10px}.wedding-album-container .side-right{right:10px}.wedding-title{color:#8b1a2b;font-family:Georgia,serif;font-size:2rem;font-weight:600;letter-spacing:1px;margin-bottom:30px;margin-top:30px;text-align:center;text-shadow:1px 1px 2px #0000001a}.wedding-title .ring-emoji{animation:sparkle 2s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 0 5px rgba(212,160,23,.5))}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.2) rotate(10deg)}}.wedding-input{background:#fffef8;border:2px solid #d4a017;border-radius:4px;box-shadow:inset 0 1px 3px #00000014;color:#3d1f00;font-family:inherit;font-size:1rem;margin:10px 0;outline:none;padding:14px 22px;transition:all .3s ease;width:80%}.wedding-input:focus{border-color:#8b1a2b;box-shadow:0 0 15px #8b1a2b26,inset 0 1px 3px #00000014;transform:translateY(-1px)}.wedding-input::placeholder{color:#a08060;font-style:italic}.wedding-file-input{background:#fffef8cc;border:2px dashed #d4a017;border-radius:8px;color:#6b4423;cursor:pointer;margin:10px 0;padding:15px;transition:all .3s ease;width:80%}.wedding-file-input:hover{background:#fffef8;border-color:#8b1a2b;border-style:solid;box-shadow:0 0 15px #d4a01726}.wedding-btn{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:1.05rem;font-weight:500;letter-spacing:.5px;margin:12px 8px;overflow:hidden;padding:14px 36px;position:relative;transition:all .3s ease}.wedding-btn-upload{background:linear-gradient(180deg,#8b1a2b,#6b1220);border:1px solid #a02030;box-shadow:0 4px 15px #8b1a2b4d;color:#fff5e6}.wedding-btn-upload:hover{background:linear-gradient(180deg,#9b1a2b,#7b1220);box-shadow:0 6px 25px #8b1a2b66;transform:translateY(-2px)}.wedding-btn-upload:active{transform:translateY(0)}.wedding-btn-create{background:linear-gradient(180deg,#d4a017,#b8860b);border:1px solid #c99520;box-shadow:0 4px 15px #d4a0174d;color:#3d1f00;font-weight:600}.wedding-btn-create:hover:not(:disabled){background:linear-gradient(180deg,#e0b028,#c89620);box-shadow:0 6px 25px #d4a01766;transform:translateY(-2px)}.wedding-btn-create:disabled{background:#c4b5a0;border-color:#b0a090;box-shadow:none;color:#8a7a6a;cursor:not-allowed;opacity:.7}.wedding-progress-container{margin:20px auto;text-align:center;width:80%}.wedding-progress-label{color:#6b4423;font-size:1rem;font-weight:500;margin-bottom:10px}.wedding-progress-track{background:#ede0c8;border:1px solid #d4a017;border-radius:4px;box-shadow:inset 0 2px 5px #0000001a;height:22px;overflow:hidden;position:relative;width:100%}.wedding-progress-fill{animation:shimmer 2s infinite;background:linear-gradient(90deg,#8b1a2b,#d4a017 50%,#8b1a2b);background-size:200% 100%;border-radius:4px;height:100%;position:relative;transition:width .4s ease}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wedding-progress-text{color:#fff;font-size:.8rem;font-weight:700;position:absolute;right:8px;text-shadow:0 1px 2px #00000080;top:50%;transform:translateY(-50%)}.wedding-qr-section{background:linear-gradient(180deg,#fffef8,#faf6ed);border:2px solid #d4a017;border-radius:8px;box-shadow:0 4px 20px #3d1f001a,0 0 0 2px #8b1a2b;margin-top:25px;padding:25px}.wedding-qr-title{align-items:center;color:#8b1a2b;display:flex;font-size:1.2rem;font-weight:600;gap:10px;justify-content:center;margin-bottom:18px}.wedding-qr-wrapper{background:#fff;border:3px solid #d4a017;border-radius:8px;box-shadow:0 0 20px #d4a01726;display:inline-block;padding:18px}.wedding-divider{background:linear-gradient(90deg,#0000,#d4a017,#0000);height:2px;margin:22px auto;position:relative;width:50%}.wedding-divider:after,.wedding-divider:before{color:#d4a017;content:"✦";font-size:14px;position:absolute;top:50%;transform:translateY(-50%)}.wedding-divider:before{left:-20px}.wedding-divider:after{right:-20px}@keyframes celebrate{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.wedding-success{animation:celebrate .5s ease-out}@keyframes float{0%,to{opacity:0;transform:translateY(0) rotate(0deg)}10%{opacity:.2}90%{opacity:.2}to{opacity:0;transform:translateY(-80px) rotate(180deg)}}.heart-particle{animation:float 3s ease-in-out infinite;color:#e85d04;font-size:18px;pointer-events:none;position:fixed}@media (max-width:640px){.wedding-album-container{box-shadow:0 3px 20px #3d1f0026,0 0 0 3px #8b1a2b,0 0 0 4px #d4a017,0 0 0 5px #8b1a2b;margin:20px 10px;padding:50px 20px}.wedding-title{font-size:1.6rem;margin-top:25px}.wedding-file-input,.wedding-input{width:90%}.wedding-btn{font-size:.95rem;padding:12px 28px}}:root{--gold-primary:#c9a96e;--gold-light:#e8d5a3;--gold-dark:#a0824a;--cream:#faf7f2;--cream-dark:#f5f0e8;--blush:#f8e8e0;--rose:#d4a5a5;--rose-deep:#b88888;--charcoal:#2c2c2c;--paper-white:#fefefe;--paper-shadow:#0000001f;--shadow-soft:#00000014;--shadow-medium:#00000026;--shadow-deep:#0000004d;--page-margin:20px;--photo-border:8px;--corner-size:30px;--nav-gap:25px;--nav-btn-size:45px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px;touch-action:manipulation}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf7f2;background:var(--cream);font-family:Cormorant Garamond,serif}.album-container,body{max-width:100vw;min-height:100vh;overflow-x:hidden;width:100%}.album-container{align-items:center;background:linear-gradient(135deg,#f5ebe0,#faf3ed 50%,#f0e6d8);display:flex;flex-direction:column;padding:clamp(15px,3vw,30px) clamp(8px,2vw,15px) clamp(30px,5vw,50px);position:relative}.album-container:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23c9a96e' fill-opacity='.03' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";inset:0;opacity:.5;pointer-events:none;position:absolute;z-index:0}.album-container>*{max-width:100%;position:relative;z-index:1}.album-title{word-wrap:break-word;color:#2c2c2c;color:var(--charcoal);font-family:Great Vibes,cursive;font-size:clamp(2rem,6vw,3.5rem);letter-spacing:clamp(1px,.5vw,3px);line-height:1.2;margin-bottom:5px;overflow-wrap:break-word;padding:0 10px;text-align:center;text-shadow:2px 2px 4px #0000001a;width:100%}.album-title+*{margin-top:0}.audio-player{background:linear-gradient(145deg,#fff,#f5f0e8);background:linear-gradient(145deg,#fff,var(--cream-dark));border:1px solid #c9a96e40;border-radius:50px;box-shadow:0 4px 15px #00000014,inset 0 1px 0 #ffffffe6;box-shadow:0 4px 15px var(--shadow-soft),inset 0 1px 0 #ffffffe6;display:block;margin:clamp(10px,2vw,15px) auto clamp(15px,3vw,25px);max-width:100%;padding:6px 12px;transition:all .3s ease;width:min(280px,90vw)}.audio-player:hover{box-shadow:0 6px 20px #00000026;box-shadow:0 6px 20px var(--shadow-medium);transform:translateY(-2px)}audio::-webkit-media-controls-panel{background:#0000!important}audio::-webkit-media-controls-play-button{background-color:#c9a96e!important;background-color:var(--gold-primary)!important;border-radius:50%}audio::-webkit-media-controls-timeline{background-color:#e8d5a3;background-color:var(--gold-light);border-radius:10px;height:3px}.flipbook{filter:drop-shadow(0 25px 50px rgba(0,0,0,.25));margin:0 auto!important;max-width:100%!important;position:relative;transform-origin:center center;width:100%!important}.flipbook:after{background:linear-gradient(180deg,#00000026,#00000014 20%,#00000026 50%,#00000014 80%,#00000026);content:"";height:100%;left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:clamp(2px,.5vw,4px);z-index:10}.page{background:#fefefe!important;background:var(--paper-white)!important;background-image:linear-gradient(90deg,#00000008,#0000 3%,#0000 97%,#00000008),linear-gradient(#00000005 1px,#0000 0),linear-gradient(90deg,#00000005 1px,#0000 0)!important;background-size:100% 100%,20px 20px,20px 20px!important;overflow:hidden;position:relative}.page:nth-child(odd):before{background:linear-gradient(270deg,#0000001f,#0000);right:0}.page:nth-child(2n):before,.page:nth-child(odd):before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:clamp(20px,4vw,40px);z-index:5}.page:nth-child(2n):before{background:linear-gradient(90deg,#0000001f,#0000);left:0}.page:after{border-color:#0000 #0000 #c9a96e26;border-style:solid;border-width:0 0 clamp(15px,3vw,25px) clamp(15px,3vw,25px);bottom:0;content:"";height:0;pointer-events:none;position:absolute;right:0;width:0;z-index:6}.page img{border:8px solid #fff;border:var(--photo-border) solid #fff;box-shadow:0 2px 8px #00000026,0 0 0 1px #0000000d;display:block;height:calc(100% - 40px)!important;height:calc(100% - var(--page-margin)*2)!important;margin:20px!important;margin:var(--page-margin)!important;max-width:100%;object-fit:cover;transition:all .4s ease;width:calc(100% - 40px)!important;width:calc(100% - var(--page-margin)*2)!important}@media (hover:hover) and (pointer:fine){.page:hover img{box-shadow:0 4px 15px #0003,0 0 0 1px #0000000d;transform:scale(1.01)}}.page-number{bottom:clamp(5px,1.5vw,8px);color:#a0824a;color:var(--gold-dark);font-family:Cormorant Garamond,serif;font-size:clamp(.7rem,1.8vw,.85rem);letter-spacing:2px;position:absolute;z-index:7}.page:nth-child(odd) .page-number{right:clamp(8px,2vw,15px)}.page:nth-child(2n) .page-number{left:clamp(8px,2vw,15px)}.page-corner-accent{border:2px solid #e8d5a3;border:2px solid var(--gold-light);height:30px;height:var(--corner-size);opacity:.5;pointer-events:none;position:absolute;width:30px;width:var(--corner-size);z-index:6}.top-left{border-right:none;left:12px}.top-left,.top-right{border-bottom:none;top:12px}.top-right{border-left:none;right:12px}.bottom-left{border-right:none;left:12px}.bottom-left,.bottom-right{border-top:none;bottom:12px}.bottom-right{border-left:none;right:12px}.stf__wrapper{perspective:1500px!important}.stf__item--hard{box-shadow:-8px 0 20px #00000026,inset -3px 0 10px #00000014!important}.stf__block{box-shadow:0 15px 35px #0003!important}.flipbook-nav{flex-wrap:wrap;gap:25px;gap:var(--nav-gap);margin-top:clamp(15px,3vw,30px);padding:0 10px}.flipbook-nav,.flipbook-nav button{display:flex;justify-content:center}.flipbook-nav button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(145deg,#fff,#f5f0e8);background:linear-gradient(145deg,#fff,var(--cream-dark));border:2px solid #e8d5a3;border:2px solid var(--gold-light);border-radius:50%;box-shadow:0 4px 12px #00000014;box-shadow:0 4px 12px var(--shadow-soft);color:#a0824a;color:var(--gold-dark);cursor:pointer;flex-shrink:0;font-size:clamp(.9rem,2.5vw,1.1rem);height:45px;height:var(--nav-btn-size);touch-action:manipulation;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:45px;width:var(--nav-btn-size)}.flipbook-nav button:hover{background:linear-gradient(145deg,#e8d5a3,#c9a96e);background:linear-gradient(145deg,var(--gold-light),var(--gold-primary));border-color:#c9a96e;border-color:var(--gold-primary);box-shadow:0 8px 20px #c9a96e4d;color:#fff;transform:translateY(-3px) scale(1.1)}.flipbook-nav button:active{transform:translateY(-1px) scale(.95)}.flipbook-nav button:disabled{cursor:not-allowed;opacity:.4;transform:none}.page-indicator{color:#a0824a;color:var(--gold-dark);font-family:Cormorant Garamond,serif;font-size:clamp(.85rem,2.2vw,1rem);letter-spacing:2px;margin-top:clamp(10px,2vw,15px);padding:0 10px;text-align:center}@media (max-width:1024px){:root{--page-margin:16px;--photo-border:6px;--corner-size:25px;--nav-gap:20px;--nav-btn-size:42px}.album-title{letter-spacing:2px}}@media (max-width:768px){:root{--page-margin:12px;--photo-border:5px;--corner-size:20px;--nav-gap:15px;--nav-btn-size:40px}html{font-size:16px}.album-container{padding:15px 8px 25px}.album-title{font-size:clamp(1.8rem,8vw,2.5rem);letter-spacing:1px}.flipbook{max-width:100%!important;transform:scale(1)}.page img{height:calc(100% - 40px)!important;height:calc(100% - var(--page-margin)*2)!important;margin:20px!important;margin:var(--page-margin)!important;width:calc(100% - 40px)!important;width:calc(100% - var(--page-margin)*2)!important}.audio-player{padding:4px 8px;width:min(240px,85vw)}.page-corner-accent{display:none}}@media (max-width:480px){:root{--page-margin:8px;--photo-border:4px;--nav-gap:12px;--nav-btn-size:38px}html{font-size:16px}.album-container{padding:12px 5px 20px}.album-title{font-size:clamp(1.6rem,9vw,2rem);letter-spacing:.5px;margin-bottom:3px}.page img{height:calc(100% - 40px)!important;height:calc(100% - var(--page-margin)*2)!important;margin:20px!important;margin:var(--page-margin)!important;width:calc(100% - 40px)!important;width:calc(100% - var(--page-margin)*2)!important}.flipbook-nav button{font-size:.9rem;height:40px;width:40px}.page-number{font-size:.7rem;letter-spacing:1px}.page-indicator{font-size:.85rem}}@media (max-width:360px){:root{--page-margin:6px;--photo-border:3px;--nav-gap:10px;--nav-btn-size:36px}html{font-size:16px}.album-title{font-size:1.5rem}.flipbook-nav button{font-size:.85rem;height:36px;width:36px}.audio-player{width:200px}}@media (max-height:500px) and (orientation:landscape){.album-container{padding:10px 8px 15px}.album-title{font-size:clamp(1.4rem,4vh,2rem);margin-bottom:2px}.audio-player{margin:8px auto 12px;width:220px}.flipbook-nav{margin-top:12px}.flipbook-nav button{height:38px;width:38px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.page{background-size:100% 100%,10px 10px,10px 10px!important}}@media (pointer:coarse){.flipbook-nav button{min-height:44px;min-width:44px}.page img{transition:none}.flipbook,.page,.page img{touch-action:pan-y pinch-zoom}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.flipbook-nav button,.page img{transition:none}}@media (prefers-color-scheme:dark){:root{--cream:#1a1a1a;--cream-dark:#2a2a2a;--charcoal:#e0e0e0;--paper-white:#f5f0e8}body{background:#1a1a1a}.album-container{background:linear-gradient(135deg,#2a2520,#1f1b16 50%,#2a2520)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#faf7f2;background:var(--cream)}::-webkit-scrollbar-thumb{background:#e8d5a3;background:var(--gold-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#c9a96e;background:var(--gold-primary)}*{scrollbar-color:#e8d5a3 #faf7f2;scrollbar-color:var(--gold-light) var(--cream);scrollbar-width:thin}::selection{background:#c9a96e4d;color:#2c2c2c;color:var(--charcoal)}@supports (padding:max(0px)){.album-container{padding-bottom:max(30px,env(safe-area-inset-bottom));padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}}.no-zoom{touch-action:manipulation;-ms-touch-action:manipulation}@viewport{zoom:1;width:device-width}
/*# sourceMappingURL=main.a36f8f81.css.map*/