*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;margin:0;padding:0}body{display:block}#root{width:100%;min-height:100vh}:root{--primary-pink: #ff6b9d;--light-pink: #fff0f5;--soft-pink: #ffb6c1;--blush: #ffc0cb;--rose: #ff85a2;--deep-rose: #ff4081;--hot-pink: #ff69b4;--bg-main: #fff8fa;--bg-section: #ffffff;--gold: #d4af37;--cream: #fffaf0;--white: #ffffff;--text-dark: #5c3d4a;--text-medium: #8b6b7b;--text-light: #b89aa8;--font-script: "Dancing Script", cursive;--font-serif: "Cormorant Garamond", serif;--font-sans: "Montserrat", sans-serif;--shadow-soft: 0 4px 20px rgba(255, 107, 157, .15);--shadow-medium: 0 10px 40px rgba(255, 107, 157, .2);--shadow-strong: 0 20px 60px rgba(255, 107, 157, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;width:100%}body{font-family:var(--font-serif);background:var(--bg-main);color:var(--text-dark);line-height:1.8;overflow-x:hidden;width:100%;min-height:100vh}.wedding-app{width:100%;min-height:100vh}main{width:100%}.section{width:100%}.fade-in{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.zoom-in{opacity:0;transform:scale(.8);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.zoom-in.visible{opacity:1;transform:scale(1)}.slide-left{opacity:0;transform:translate(-100px);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.slide-left.visible{opacity:1;transform:translate(0)}.slide-right{opacity:0;transform:translate(100px);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.slide-right.visible{opacity:1;transform:translate(0)}.rotate-in{opacity:0;transform:rotate(-10deg) scale(.9);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.rotate-in.visible{opacity:1;transform:rotate(0) scale(1)}.flip-up{opacity:0;transform:perspective(1000px) rotateX(30deg) translateY(50px);transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.flip-up.visible{opacity:1;transform:perspective(1000px) rotateX(0) translateY(0)}.pop-in{opacity:0;transform:scale(.5);transition:opacity .5s ease,transform .6s cubic-bezier(.175,.885,.32,1.275)}.pop-in.visible{opacity:1;transform:scale(1)}.blur-in{opacity:0;filter:blur(10px);transform:scale(1.1);transition:opacity .8s ease,filter .8s ease,transform .8s ease}.blur-in.visible{opacity:1;filter:blur(0);transform:scale(1)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}.delay-6{transition-delay:.6s}#particles{position:fixed;inset:0;pointer-events:none;z-index:1}.particle{position:absolute;animation:floatUp 15s linear infinite}@keyframes floatUp{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.music-toast{position:fixed;top:30px;left:50%;transform:translate(-50%) translateY(-100px);background:var(--white);color:var(--text-dark);padding:15px 30px;border-radius:50px;font-family:var(--font-sans);font-size:.9rem;box-shadow:0 10px 40px #ff6b9d4d;z-index:9999;opacity:0;transition:all .5s ease}.music-toast.visible{transform:translate(-50%) translateY(0);opacity:1}@keyframes pulse{50%{transform:scale(1.2)}}.audio-btn{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary-pink),var(--hot-pink));border:none;cursor:pointer;z-index:1000;box-shadow:var(--shadow-medium);display:flex;align-items:center;justify-content:center;transition:transform .3s}.audio-btn:hover{transform:scale(1.1)}.audio-btn.playing{animation:audioPulse 2s infinite}@keyframes audioPulse{50%{box-shadow:0 0 0 20px #ff6b9d00}}.audio-icon{font-size:24px}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff0f5,#ffe8ef,#ffd6e0,#ffccd8);position:relative}.hero-content{text-align:center;padding:40px 20px;z-index:2}.hero-subtitle{font-family:var(--font-sans);font-size:1rem;letter-spacing:8px;text-transform:uppercase;color:var(--text-medium);margin-bottom:30px}.hero-title{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:50px}.hero-title .name{font-family:var(--font-script);font-size:clamp(3.5rem,12vw,7rem);background:linear-gradient(135deg,var(--primary-pink),var(--deep-rose),var(--hot-pink));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 5s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.heart-container{position:relative}.heart-bg{position:absolute;inset:-30px;background:radial-gradient(circle,rgba(255,105,180,.2),transparent 70%);border-radius:50%;animation:pulse 2s ease infinite}.heart{font-size:clamp(3rem,8vw,5rem);color:var(--deep-rose);animation:heartbeat 1.2s ease infinite;filter:drop-shadow(0 0 20px rgba(255,64,129,.5))}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.2)}30%{transform:scale(1)}45%{transform:scale(1.15)}}.wedding-date{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:50px}.date-line{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--soft-pink),transparent)}.date-label{font-family:var(--font-sans);font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--text-light);margin-bottom:8px}.date{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);color:var(--text-dark);letter-spacing:8px}.countdown{display:flex;justify-content:center;gap:20px;margin-bottom:60px;flex-wrap:wrap}.countdown-item{text-align:center}.countdown-number{font-family:var(--font-sans);font-size:2.5rem;font-weight:600;color:var(--primary-pink);display:block;background:var(--white);padding:15px 20px;border-radius:15px;box-shadow:var(--shadow-soft);min-width:80px}.countdown-label{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-medium);margin-top:10px;display:block}.countdown-separator{font-size:2rem;color:var(--soft-pink);align-self:center}.scroll-indicator{animation:bounce 2s infinite}@keyframes bounce{50%{transform:translateY(-10px)}}.mouse{width:26px;height:40px;border:2px solid var(--primary-pink);border-radius:13px;margin:0 auto 15px;position:relative}.mouse-wheel{width:4px;height:8px;background:var(--primary-pink);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll 2s ease infinite}@keyframes scroll{0%,to{opacity:1;transform:translate(-50%) translateY(0)}50%{opacity:.3;transform:translate(-50%) translateY(12px)}}.scroll-indicator p{font-size:.8rem;letter-spacing:3px;color:var(--text-medium);text-transform:uppercase}.intro{min-height:60vh;display:flex;align-items:center;justify-content:center;background:var(--bg-section);padding:100px 20px}.intro-content{text-align:center;max-width:800px}.section-title{font-family:var(--font-script);font-size:clamp(2.5rem,7vw,4.5rem);color:var(--primary-pink);margin-bottom:40px}.intro-text{font-size:clamp(1.2rem,3vw,1.6rem);color:var(--text-medium);font-style:italic;margin-bottom:15px}.decorative-hearts{font-size:2.5rem;margin-top:30px;animation:float 3s ease infinite}@keyframes float{50%{transform:translateY(-10px)}}.timeline-section{background:linear-gradient(180deg,var(--bg-section),var(--light-pink),var(--bg-section));padding:100px 20px}.chapter{max-width:1200px;margin:0 auto 180px;padding:0 20px}.chapter:last-child{margin-bottom:0}.chapter-header{text-align:center;margin-bottom:60px}.chapter-number{font-family:var(--font-sans);font-size:5rem;font-weight:200;color:#ff6b9d33;line-height:1}.chapter-title{font-family:var(--font-script);font-size:clamp(2rem,5vw,3.5rem);color:var(--primary-pink);margin:10px 0}.chapter-date{font-family:var(--font-sans);font-size:1rem;letter-spacing:5px;color:var(--text-light);margin-bottom:20px}.chapter-quote{font-family:var(--font-serif);font-size:clamp(1.3rem,3vw,1.6rem);font-style:italic;color:var(--text-medium);max-width:600px;margin:0 auto;line-height:1.6}.photo-stack{position:relative;width:350px;height:450px;margin:0 auto;perspective:1000px}.stacked-photo{position:absolute;width:100%;height:100%;border-radius:20px;overflow:hidden;background:var(--white);padding:12px;box-shadow:var(--shadow-strong);cursor:pointer}.stacked-photo img{width:100%;height:100%;object-fit:cover;border-radius:12px}.photo-duo{display:flex;justify-content:center;gap:40px;perspective:1000px}.duo-photo{width:300px;border-radius:20px;overflow:hidden;background:var(--white);padding:12px;box-shadow:var(--shadow-strong);cursor:pointer}.duo-photo img{width:100%;height:auto;border-radius:12px;display:block}.photo-fan{position:relative;width:320px;height:420px;margin:0 auto;perspective:1000px}.fan-photo{position:absolute;width:100%;height:100%;border-radius:20px;overflow:hidden;background:var(--white);padding:12px;box-shadow:var(--shadow-strong);cursor:pointer;transform-origin:bottom center}.fan-photo img{width:100%;height:100%;object-fit:cover;border-radius:12px}.corkboard{position:relative;width:100%;max-width:1100px;min-height:600px;margin:0 auto;padding:50px 40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill-opacity='0.08'%3E%3Ccircle fill='%238b5a2b' cx='20' cy='20' r='3'/%3E%3Ccircle fill='%238b5a2b' cx='60' cy='60' r='2'/%3E%3Ccircle fill='%238b5a2b' cx='40' cy='40' r='2.5'/%3E%3Ccircle fill='%238b5a2b' cx='70' cy='15' r='1.5'/%3E%3Ccircle fill='%238b5a2b' cx='10' cy='70' r='2'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(145deg,#d4a574,#c9956a,#d4a574 60%,#c9956a);border-radius:12px;box-shadow:inset 0 3px 15px #00000040,0 15px 50px #0003;border:12px solid #6b3d1f;display:flex;justify-content:center;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:25px;overflow:hidden}.polaroid{position:relative;width:160px;background:linear-gradient(180deg,#fff,#f9f9f9);padding:10px 10px 35px;box-shadow:0 4px 15px #0003,0 1px 3px #0000001a;cursor:grab;z-index:1;-webkit-user-select:none;user-select:none}.polaroid:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:18px;height:18px;background:radial-gradient(circle at 35% 35%,#ff7b7b,#d44444 60%,#a33);border-radius:50%;box-shadow:0 3px 6px #0006,inset 0 -3px 4px #0003,inset 0 2px 2px #ffffff4d;z-index:10}.polaroid:active{cursor:grabbing}.polaroid img{width:100%;height:auto;max-height:180px;object-fit:cover;display:block;pointer-events:none}.polaroid-caption{font-family:var(--font-script);font-size:.9rem;color:var(--text-dark);text-align:center;margin-top:8px;white-space:nowrap;pointer-events:none}@media(max-width:768px){.corkboard{padding:30px 15px;min-height:450px;gap:18px}.polaroid{width:130px;padding:8px 8px 28px}.polaroid img{max-height:150px}.polaroid:before{width:14px;height:14px;top:-6px}}.photo-scatter{position:relative;width:100%;max-width:700px;height:600px;margin:0 auto}.scatter-photo{position:absolute;width:250px;border-radius:15px;overflow:hidden;background:var(--white);padding:10px;box-shadow:var(--shadow-strong);cursor:pointer;left:50%;top:50%;translate:-50% -50%}.scatter-photo img{width:100%;height:auto;border-radius:8px;display:block}.photo-overlap{position:relative;width:450px;height:350px;margin:0 auto}.overlap-photo{position:absolute;width:300px;border-radius:20px;overflow:hidden;background:var(--white);padding:12px;box-shadow:var(--shadow-strong);cursor:pointer}.overlap-photo img{width:100%;height:auto;border-radius:12px;display:block}.photo-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:600px;margin:0 auto}.grid-photo{border-radius:20px;overflow:hidden;background:var(--white);padding:10px;box-shadow:var(--shadow-medium);cursor:pointer}.grid-photo img{width:100%;height:auto;border-radius:12px;display:block}@media(max-width:768px){.photo-stack{width:280px;height:360px}.photo-duo{flex-direction:column;gap:30px}.duo-photo{width:280px;margin:0 auto;transform:rotate(0)!important}.photo-fan{width:260px;height:340px}.photo-scatter{height:400px}.scatter-photo{width:180px}.photo-overlap{width:320px;height:300px}.overlap-photo{width:220px}.photo-grid-2x2{max-width:320px;gap:15px}}.wedding-section{background:linear-gradient(180deg,var(--bg-section),var(--light-pink),var(--bg-section));padding:100px 20px;min-height:100vh}.wedding-header{text-align:center;margin-bottom:50px}.wedding-label{font-family:var(--font-sans);font-size:.9rem;letter-spacing:5px;color:var(--text-light);display:block;margin-bottom:15px}.wedding-title{font-family:var(--font-script);font-size:clamp(2.5rem,6vw,4rem);color:var(--primary-pink);margin-bottom:10px}.wedding-subtitle{font-family:var(--font-serif);font-size:1.1rem;color:var(--text-medium)}.album-container{position:relative;display:flex;align-items:center;justify-content:center;perspective:2500px;padding:60px 40px;width:100%}.album{position:relative;width:380px;height:520px;transform-style:preserve-3d;transform:translate(50%);box-shadow:-5px 0 15px #0000001a,inset 5px 0 10px #0000000d}.album-page{position:absolute;width:100%;height:100%;transform-style:preserve-3d;transform-origin:left center;transition:transform 1s cubic-bezier(.4,0,.2,1),box-shadow .5s ease;cursor:pointer}.album-page.flipped{transform:rotateY(-180deg)}.album-page:not(.flipped):hover{transform:rotateY(-15deg)}.page-front,.page-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a,5px 5px 20px #00000026,inset -2px 0 5px #0000000d}.page-front{background:linear-gradient(to right,#f8f8f8,#fff 10%);z-index:2}.page-back{background:linear-gradient(to left,#f8f8f8,#fff 10%);transform:rotateY(180deg)}.page-front:after,.page-back:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to right,rgba(0,0,0,.1),rgba(0,0,0,.02) 50%,transparent)}.album-page img{width:100%;height:100%;object-fit:cover;padding:15px;box-sizing:border-box;border-radius:3px 12px 12px 3px}.album-page.cover .page-front,.album-page.back-cover .page-front{background:linear-gradient(135deg,#ffd6e0,#ffb6c1,#ff85a2);display:flex;align-items:center;justify-content:center}.cover-ornament{font-size:2rem;color:var(--white);opacity:.8}.cover-ornament.top{margin-bottom:20px}.cover-ornament.bottom{margin-top:20px}.cover-content h3{font-family:var(--font-script);font-size:2.5rem;color:var(--white);text-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:15px}.cover-names{font-family:var(--font-script);font-size:2rem;color:var(--white);margin-bottom:10px}.cover-date{font-family:var(--font-sans);font-size:.9rem;letter-spacing:3px;color:#ffffffe6}.end-text{font-family:var(--font-script);font-size:2.5rem;color:var(--white);margin-bottom:20px}.end-heart{font-size:3rem;margin-bottom:20px}.end-message{font-family:var(--font-serif);font-size:1rem;color:#ffffffe6;font-style:italic}.album-page:nth-child(1){z-index:7}.album-page:nth-child(2){z-index:6}.album-page:nth-child(3){z-index:5}.album-page:nth-child(4){z-index:4}.album-page:nth-child(5){z-index:3}.album-page:nth-child(6){z-index:2}.album-page:nth-child(7){z-index:1}.album-page.flipped{z-index:0!important}.album-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:none;border-radius:50%;background:var(--white);color:var(--primary-pink);font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-medium);transition:all .3s;z-index:100}.album-nav:hover{background:var(--primary-pink);color:var(--white);transform:translateY(-50%) scale(1.1)}.album-nav.prev{left:20px}.album-nav.next{right:20px}.album-nav:disabled{opacity:.3;cursor:not-allowed}.album-nav:disabled:hover{background:var(--white);color:var(--primary-pink);transform:translateY(-50%)}.album-indicator{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-family:var(--font-sans);font-size:.9rem;color:var(--text-medium);background:var(--white);padding:8px 20px;border-radius:20px;box-shadow:var(--shadow-soft)}@media(max-width:600px){.album{width:280px;height:400px}.album-nav{width:40px;height:40px;font-size:1rem}.album-nav.prev{left:5px}.album-nav.next{right:5px}.cover-content h3{font-size:2rem}.cover-names{font-size:1.5rem}}.wishes-section{min-height:80vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--light-pink),var(--bg-section),var(--light-pink));padding:100px 20px}.wishes-container{max-width:800px;width:100%}.wishes-card{background:var(--white);border-radius:30px;padding:60px 50px;box-shadow:var(--shadow-medium);position:relative;overflow:hidden}.wishes-card:after{content:"";position:absolute;inset:0;background-image:url(/haohan2.webp);background-size:cover;background-position:center;filter:blur(1px) brightness(.9);opacity:.25;z-index:0}.wishes-card>*{position:relative;z-index:1}.wishes-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-pink),var(--gold),var(--hot-pink));border-radius:30px 30px 0 0;z-index:2}.wishes-decoration{display:flex;justify-content:center;gap:15px;font-size:2rem;margin-bottom:20px}.wishes-title{font-family:var(--font-script);font-size:clamp(2rem,5vw,3rem);color:var(--primary-pink);text-align:center;margin-bottom:30px}.wishes-greeting{font-family:var(--font-script);font-size:1.8rem;color:var(--text-dark);margin-bottom:20px}.wishes-text{font-size:1.2rem;color:#2c2c2c;margin-bottom:15px;line-height:1.9}.wishes-signature{text-align:right;margin-top:30px}.signature-name{font-family:var(--font-script);font-size:1.5rem;color:var(--primary-pink)}@media(max-width:768px){.wishes-card{padding:40px 25px}}.final-section{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--light-pink),#ffe4ec,#ffd6e0,var(--light-pink));position:relative}.final-content{text-align:center;padding:40px 20px}.final-ring{margin-bottom:30px}.ring-icon{font-size:5rem;filter:drop-shadow(0 0 30px rgba(212,175,55,.6));animation:pulse 2s ease infinite}.final-title{font-family:var(--font-script);font-size:clamp(2.5rem,8vw,5rem);color:var(--primary-pink);margin-bottom:20px}.final-names{font-family:var(--font-script);font-size:clamp(2rem,6vw,4rem);background:linear-gradient(135deg,var(--primary-pink),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:30px}.final-date-box{display:inline-flex;align-items:center;gap:15px;background:var(--white);border:2px solid var(--soft-pink);padding:20px 50px;border-radius:50px;margin-bottom:30px;box-shadow:var(--shadow-soft)}.final-date-box span{font-family:var(--font-sans);font-size:1.8rem;font-weight:500;color:var(--text-dark)}.final-date-box .separator{color:var(--primary-pink)}.final-message{font-family:var(--font-serif);font-size:1.3rem;font-style:italic;color:var(--text-medium);margin-bottom:30px}.final-hearts{font-size:3rem;animation:float 3s ease infinite}#confetti-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;animation:confettiFall linear forwards}@keyframes confettiFall{to{transform:translateY(100vh) rotate(720deg);opacity:0}}.lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all .4s}.lightbox.active{opacity:1;visibility:visible}.lightbox-image{max-width:90%;max-height:90vh;object-fit:contain;border-radius:10px;transform:scale(.9);transition:transform .4s}.lightbox.active .lightbox-image{transform:scale(1)}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:var(--white);border:none;color:var(--primary-pink);font-size:1.5rem;cursor:pointer;padding:15px 20px;border-radius:50%;transition:all .3s}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--primary-pink);color:#fff}.lightbox-close{top:30px;right:30px}.lightbox-prev{left:30px;top:50%;transform:translateY(-50%)}.lightbox-next{right:30px;top:50%;transform:translateY(-50%)}@media(max-width:768px){html{font-size:15px}body{overflow-x:hidden;width:100%}.chapter{padding:0 15px;margin-bottom:120px;overflow:hidden}.section-title{font-size:3.8rem;margin-bottom:25px}.intro{padding:60px 15px;min-height:auto}.intro-text{font-size:1.3rem;line-height:1.6}.hero-title .name{font-size:3.8rem}.date{font-size:2rem}.chapter-number{font-size:3.5rem}.chapter-title{font-size:2.2rem}.chapter-quote{font-size:1.25rem}.countdown{gap:15px}.countdown-number{font-size:1.8rem;padding:12px 18px;min-width:70px}.countdown-separator{font-size:1.5rem}.gallery-item img{height:50vh;max-height:350px}.gallery-track{gap:15px;padding:0 15px}.audio-btn{width:48px;height:48px;bottom:25px;right:25px}.audio-icon{font-size:20px}.photo-stack,.photo-fan,.photo-duo{width:100%;height:auto;min-height:300px}.stacked-photo,.fan-photo,.duo-photo{width:90%;margin:0 auto;left:0;right:0}.duo-photo{position:relative;margin-bottom:25px}.photo-duo{flex-direction:column;align-items:center;gap:20px}.wishes-card{padding:2.5rem 1.5rem}.wishes-content{font-size:1.1rem;line-height:1.8}}.album-book{margin:0 auto}.album-page-content{background:linear-gradient(to right,#fafafa,#fff 10%);display:flex;align-items:center;justify-content:center;padding:15px;height:100%;box-sizing:border-box;box-shadow:inset -2px 0 5px #0000000d}.album-page-content.photo-page{padding:20px}.album-page-content.photo-page img{width:100%;height:100%;object-fit:cover;border-radius:8px;box-shadow:0 4px 15px #00000026}.album-page-content.cover-page{background:linear-gradient(135deg,#fff0f5,#ffe4ec)}.album-page-content.back-cover{background:linear-gradient(135deg,#ffe4ec,#fff0f5)}.cover-content{text-align:center;padding:30px}.cover-content h3{font-family:var(--font-script);font-size:2.5rem;color:var(--primary-pink);margin-bottom:20px}.cover-names{font-family:var(--font-script);font-size:2rem;color:var(--deep-rose);margin-bottom:10px}.cover-date{font-family:var(--font-sans);font-size:1.2rem;letter-spacing:5px;color:var(--text-medium)}.cover-ornament{font-size:2rem;color:var(--soft-pink);margin:15px 0}.end-text{font-family:var(--font-script);font-size:2rem;color:var(--primary-pink)}.end-heart{font-size:3rem;margin:20px 0}.end-message{font-family:var(--font-serif);font-size:1.1rem;color:var(--text-medium)}.album-controls{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:30px;width:100%}.album-controls button{background:linear-gradient(135deg,var(--primary-pink),var(--hot-pink));color:#fff;border:none;padding:12px 25px;border-radius:30px;font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:var(--shadow-soft)}.album-controls button:hover{transform:scale(1.05);box-shadow:var(--shadow-medium)}.page-indicator{font-family:var(--font-sans);font-size:1rem;color:var(--text-medium)}.stf__parent{display:flex;justify-content:center;margin:0 auto}.album-container{display:flex;flex-direction:column;align-items:center;width:100%}.album-container>.stf__parent{width:100%;display:flex;justify-content:center}
