@import"https://fonts.googleapis.com/css2?family=Siemreap&display=swap";.App{position:relative;width:100%;max-width:530px;min-width:320px;margin:0 auto;min-height:100vh;overflow:visible;overflow-x:hidden;text-align:center}.hero-section{position:relative;width:100%;height:100vh;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;display:block}.content-container{position:relative;width:100%}.hidden-button-area{position:absolute;top:50%;left:50%;transform:translate(-50%);z-index:10;cursor:pointer;opacity:0;pointer-events:all;width:clamp(250px,50vw,500px);height:clamp(9.5rem,50vh,10rem);display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.hidden-button-image{width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0}.hidden-button-area:hover{opacity:.05}.hidden-button-area:active{opacity:.1}.character-clickable-area{position:absolute;top:0;left:0;width:100%;height:100vh;z-index:5;pointer-events:none}.girl-click-area,.boy-click-area{position:absolute;width:clamp(60px,15vw,120px);height:clamp(80px,20vh,160px);cursor:pointer;pointer-events:all;z-index:6}.girl-click-area{bottom:clamp(5px,3vh,40px);right:clamp(9.5rem,15vw,150px)}.boy-click-area{bottom:clamp(5px,3vh,40px);left:clamp(9.5rem,15vw,150px)}.message-bubble{position:absolute;z-index:100;background:linear-gradient(135deg,#fffefbf2,#cab97ff2);color:#8b6914;padding:clamp(10px,2vh,16px) clamp(14px,3vw,20px);border-radius:20px;box-shadow:0 4px 20px #0000004d,0 0 30px #ffd70080;font-size:clamp(12px,2.5vh,18px);font-weight:500;max-width:clamp(200px,60vw,280px);text-align:center;animation:messagePop .4s ease-out forwards;pointer-events:none}.message-bubble:before{content:"";position:absolute;bottom:-10px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid rgba(255,215,0,.95)}.girl-message{bottom:clamp(80px,25vh,250px);right:clamp(8rem,15vw,150px);transform:translate(50%)}.girl-message:before{right:50%;transform:translate(50%)}.boy-message{bottom:clamp(80px,25vh,250px);left:clamp(8rem,15vw,150px);transform:translate(calc(-50% + .5rem))}.boy-message:before{left:50%;transform:translate(-50%)}@keyframes messagePop{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.page-flip-animation{animation:pageFlip 1.2s ease-in-out forwards;transform-origin:center}@keyframes pageFlip{0%{transform:perspective(1000px) rotateY(0) scale(1);opacity:1}30%{transform:perspective(1000px) rotateY(-15deg) scale(.98);opacity:.95}50%{transform:perspective(1000px) rotateY(-90deg) scale(.9);opacity:.7}70%{transform:perspective(1000px) rotateY(-165deg) scale(.85);opacity:.5}to{transform:perspective(1000px) rotateY(-180deg) scale(.8);opacity:0}}.sparkle-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(255,215,0,.3) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,215,0,.3) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,215,0,.2) 0%,transparent 50%);z-index:100;pointer-events:none;animation:sparkleFade 1.2s ease-in-out forwards;opacity:0}@keyframes sparkleFade{0%{opacity:0}30%{opacity:.6}50%{opacity:.8}70%{opacity:.4}to{opacity:0}}.sparkle-overlay:before,.sparkle-overlay:after{content:"";position:absolute;width:4px;height:4px;background:gold;border-radius:50%;box-shadow:20% 30% 0 0 gold,60% 20% 0 0 gold,80% 60% 0 0 gold,30% 80% 0 0 gold,70% 40% 0 0 gold;animation:sparkleMove 1.2s ease-in-out forwards}.sparkle-overlay:before{top:20%;left:30%;animation-delay:.2s}.sparkle-overlay:after{top:60%;left:70%;animation-delay:.4s}@keyframes sparkleMove{0%{transform:translate(0) scale(0);opacity:0}50%{transform:translate(20px,-30px) scale(1);opacity:1}to{transform:translate(40px,-60px) scale(0);opacity:0}}.loading-video-container{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1000;background:#000;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(2.5)}.loading-video-container.zoom-entrance{animation:loadingVideoZoom 1.5s cubic-bezier(.4,0,.2,1) forwards;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}@keyframes loadingVideoZoom{0%{opacity:0;transform:scale(2.5) translateZ(0)}5%{opacity:.01;transform:scale(2.47) translateZ(0)}10%{opacity:.03;transform:scale(2.43) translateZ(0)}15%{opacity:.05;transform:scale(2.38) translateZ(0)}20%{opacity:.08;transform:scale(2.32) translateZ(0)}25%{opacity:.11;transform:scale(2.25) translateZ(0)}30%{opacity:.15;transform:scale(2.17) translateZ(0)}35%{opacity:.2;transform:scale(2.08) translateZ(0)}40%{opacity:.26;transform:scale(1.98) translateZ(0)}45%{opacity:.33;transform:scale(1.88) translateZ(0)}50%{opacity:.41;transform:scale(1.78) translateZ(0)}55%{opacity:.49;transform:scale(1.68) translateZ(0)}60%{opacity:.57;transform:scale(1.58) translateZ(0)}65%{opacity:.65;transform:scale(1.48) translateZ(0)}70%{opacity:.72;transform:scale(1.39) translateZ(0)}75%{opacity:.79;transform:scale(1.3) translateZ(0)}80%{opacity:.85;transform:scale(1.22) translateZ(0)}85%{opacity:.9;transform:scale(1.15) translateZ(0)}90%{opacity:.94;transform:scale(1.09) translateZ(0)}95%{opacity:.97;transform:scale(1.04) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.loading-video-container.zoom-out{animation:loadingVideoZoomOut 1.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes loadingVideoZoomOut{0%{opacity:1;transform:scale(1) translateZ(0)}5%{opacity:.97;transform:scale(1.04) translateZ(0)}10%{opacity:.94;transform:scale(1.09) translateZ(0)}15%{opacity:.9;transform:scale(1.15) translateZ(0)}20%{opacity:.85;transform:scale(1.22) translateZ(0)}25%{opacity:.79;transform:scale(1.3) translateZ(0)}30%{opacity:.72;transform:scale(1.39) translateZ(0)}35%{opacity:.65;transform:scale(1.48) translateZ(0)}40%{opacity:.57;transform:scale(1.58) translateZ(0)}45%{opacity:.49;transform:scale(1.68) translateZ(0)}50%{opacity:.41;transform:scale(1.78) translateZ(0)}55%{opacity:.33;transform:scale(1.88) translateZ(0)}60%{opacity:.26;transform:scale(1.98) translateZ(0)}65%{opacity:.2;transform:scale(2.08) translateZ(0)}70%{opacity:.15;transform:scale(2.17) translateZ(0)}75%{opacity:.11;transform:scale(2.25) translateZ(0)}80%{opacity:.08;transform:scale(2.32) translateZ(0)}85%{opacity:.05;transform:scale(2.38) translateZ(0)}90%{opacity:.03;transform:scale(2.43) translateZ(0)}95%{opacity:.01;transform:scale(2.47) translateZ(0)}to{opacity:0;transform:scale(2.5) translateZ(0)}}.loading-video{width:100%;height:100%;object-fit:cover}.App.hidden{display:none}.lore-5000{margin-bottom:-2rem}.elegant-fade{animation:elegantFade 1.5s ease-in-out forwards}@keyframes elegantFade{0%{opacity:1;transform:scale(1);filter:brightness(1)}50%{opacity:.3;transform:scale(1.1);filter:brightness(1.5) blur(2px)}to{opacity:0;transform:scale(1.3);filter:brightness(2) blur(5px)}}.curtain-reveal{animation:curtainReveal 1.5s ease-in-out forwards;position:relative;overflow:hidden}.curtain-reveal:before{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,#b8860be6,#d4b44cb3);z-index:1000;animation:curtainLeft 1.5s ease-in-out forwards}.curtain-reveal:after{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(90deg,#d4b44cb3,#b8860be6);z-index:1000;animation:curtainRight 1.5s ease-in-out forwards}@keyframes curtainLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes curtainRight{0%{transform:translate(0)}to{transform:translate(100%)}}.blur-zoom{animation:blurZoom 1.5s ease-in-out forwards}@keyframes blurZoom{0%{opacity:1;transform:scale(1.02)}30%{opacity:.8;transform:scale(.98)}70%{opacity:.4;transform:scale(.92)}to{opacity:0;transform:scale(.85)}}.zoom-transition{animation:zoomTransition 1.5s cubic-bezier(.4,0,.2,1) forwards;transform-origin:center center;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased}@keyframes zoomTransition{0%{opacity:1;transform:scale(1) translateZ(0)}5%{opacity:.97;transform:scale(1.04) translateZ(0)}10%{opacity:.94;transform:scale(1.09) translateZ(0)}15%{opacity:.9;transform:scale(1.15) translateZ(0)}20%{opacity:.85;transform:scale(1.22) translateZ(0)}25%{opacity:.79;transform:scale(1.3) translateZ(0)}30%{opacity:.72;transform:scale(1.39) translateZ(0)}35%{opacity:.65;transform:scale(1.48) translateZ(0)}40%{opacity:.57;transform:scale(1.58) translateZ(0)}45%{opacity:.49;transform:scale(1.68) translateZ(0)}50%{opacity:.41;transform:scale(1.78) translateZ(0)}55%{opacity:.33;transform:scale(1.88) translateZ(0)}60%{opacity:.26;transform:scale(1.98) translateZ(0)}65%{opacity:.2;transform:scale(2.08) translateZ(0)}70%{opacity:.15;transform:scale(2.17) translateZ(0)}75%{opacity:.11;transform:scale(2.25) translateZ(0)}80%{opacity:.08;transform:scale(2.32) translateZ(0)}85%{opacity:.05;transform:scale(2.38) translateZ(0)}90%{opacity:.03;transform:scale(2.43) translateZ(0)}95%{opacity:.01;transform:scale(2.47) translateZ(0)}to{opacity:0;transform:scale(2.5) translateZ(0)}}.heart-petals{animation:heartPetals 1.5s ease-in-out forwards;position:relative}.heart-petals:before{content:"💖";position:absolute;font-size:30px;top:20%;left:20%;animation:floatHeart 1.5s ease-in-out forwards;z-index:1000}.heart-petals:after{content:"💖";position:absolute;font-size:30px;top:60%;right:20%;animation:floatHeart 1.5s ease-in-out .3s forwards;z-index:1000}@keyframes floatHeart{0%{transform:translateY(0) rotate(0) scale(0);opacity:0}30%{transform:translateY(-20px) rotate(15deg) scale(1);opacity:1}to{transform:translateY(-100px) rotate(45deg) scale(.5);opacity:0}}.page1-container{min-height:100vh;position:relative;overflow-x:hidden;width:100%;max-width:530px;min-width:320px;margin:0 auto;background:transparent;animation:page1Entrance 1s ease-out forwards;opacity:0;transform:perspective(1000px) rotateY(180deg) scale(.8);z-index:1}.hero-section-page1{position:relative;width:100%;height:100vh;overflow:hidden}.hero-image-page1{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.9) contrast(1.05) saturate(1.1)}.hero-section-page1:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#b8860b1a,#d4b44c26);pointer-events:none;z-index:1}.logo-container{position:absolute;top:6%;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:100%;max-width:280px;animation:logoFadeIn 1s ease-out}.hero-logo{width:100%;height:auto;max-width:280px;object-fit:contain;filter:drop-shadow(0 4px 20px rgba(255,215,0,.45));animation:logoFadeIn 1s ease-out,logoShine 3s ease-in-out infinite;transform:translateZ(0)}@keyframes logoFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes logoShine{0%,to{filter:drop-shadow(0 4px 20px rgba(255,215,0,.45))}50%{filter:drop-shadow(0 6px 26px rgba(255,215,0,.7))}}.countdown-container{position:absolute;top:70%;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;z-index:10;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;border-radius:15px;border:2px solid rgba(255,215,0,.4);box-shadow:0 4px 20px #0000004d}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:50px}.countdown-value{font-family:Siemreap,sans-serif;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:400;color:gold;text-shadow:0 0 15px rgba(255,215,0,.6);line-height:1.2;margin-bottom:4px}.countdown-label{font-family:Siemreap,sans-serif;font-size:clamp(.9rem,3vw,1.2rem);color:#fff;text-transform:uppercase;letter-spacing:1px;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.5)}.countdown-separator{font-size:clamp(1.5rem,5vw,2rem);font-weight:700;color:gold;text-shadow:0 0 10px rgba(255,215,0,.5);margin:0 2px;padding-bottom:20px}@media screen and (max-width: 768px){.logo-container{top:5%;max-width:240px}.hero-logo{max-width:240px}.countdown-container{padding:12px 15px;gap:6px;border-radius:12px}.countdown-item{min-width:45px}.countdown-separator{margin:0 1px;padding-bottom:18px}}@media screen and (max-width: 375px){.logo-container{top:4%;max-width:200px}.hero-logo{max-width:200px}.countdown-container{padding:10px 12px;gap:4px}.countdown-item{min-width:40px}}.scroll-content{position:relative;z-index:2;background:transparent;padding-bottom:0}.content-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;text-align:center;position:relative;opacity:1}.section-1-image{padding:0;height:100vh;min-height:100vh;overflow:hidden;position:relative}.section-image{width:100%;height:100vh;object-fit:cover;display:block;filter:brightness(.9) contrast(1.05) saturate(1.1)}.section-1-image:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#b8860b1a,#d4b44c26);pointer-events:none;z-index:1}.date-overlay{position:absolute;bottom:20%;left:50%;transform:translate(-50%);text-align:center;z-index:10;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px 30px;border-radius:15px;border:2px solid rgba(255,215,0,.5)}.date-title{font-size:clamp(1.5rem,5vw,2.5rem);color:gold;margin-bottom:10px;text-shadow:0 0 20px rgba(255,215,0,.5);font-weight:700}.date-text{font-size:clamp(1rem,3vw,1.5rem);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);line-height:1.6}.content-section h2{font-size:clamp(1.8rem,5vw,2.5rem);color:#b8860b;margin-bottom:20px;text-shadow:0 2px 8px rgba(184,134,11,.2)}.content-section p{font-size:clamp(1rem,3vw,1.2rem);color:#555;line-height:1.6}#location{background:linear-gradient(180deg,#faf8f3,#f5f2e8);position:relative;margin-top:-2rem;padding-bottom:100px}#location:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffd70008,#b8860b0d);pointer-events:none;z-index:0}#location>*{position:relative;z-index:1}.location-section{padding:28px 20px 24px;font-family:Siemreap,sans-serif}.location-header{text-align:center;margin-bottom:24px}.location-title{margin:0 0 10px;font-family:Siemreap,sans-serif;font-size:clamp(1.5rem,4.5vw,2rem);font-weight:600;color:#b8860b;text-shadow:0 2px 8px rgba(184,134,11,.25)}.location-title-line{width:48px;height:2px;margin:0 auto 14px;background:linear-gradient(to right,transparent,#b8860b,transparent);border-radius:1px}.location-subtitle{margin:0;font-family:Siemreap,sans-serif;font-size:clamp(.9rem,2.6vw,1.05rem);color:#8b6914;font-style:italic;font-weight:400}.location-info{background:#fff;border-radius:16px;padding:22px 20px;margin:0 auto 24px;max-width:92%;box-shadow:0 4px 20px #00000014,0 0 0 1px #b8860b1f;border:1px solid rgba(184,134,11,.15);position:relative;z-index:1;text-align:center}.location-info-icon{width:40px;height:40px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd70026,#b8860b1f);color:#b8860b;border-radius:50%;font-size:1.1rem}.restaurant-name{font-family:Siemreap,sans-serif;font-size:clamp(1.2rem,3.2vw,1.45rem);color:#8b6914;margin:0 0 10px;font-weight:600}.location-address{font-family:Siemreap,sans-serif;font-size:clamp(.82rem,2.2vw,.95rem);color:#5c4a2a;line-height:1.7;margin:0;word-break:break-word}.location-cards{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:100%;margin-bottom:24px;padding:0 4px}.map-wrapper{width:100%;max-width:100%}.map-card{width:100%;max-width:100%;background:#fff;border-radius:16px;padding:12px;box-shadow:0 6px 24px #00000014,0 0 0 1px #b8860b1a;border:1px solid rgba(184,134,11,.18);transition:box-shadow .25s ease,transform .25s ease}.map-card:hover{box-shadow:0 10px 32px #b8860b1f,0 0 0 2px #ffd70033;transform:translateY(-2px)}.map-card-inner{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#fafaf9;border:1px solid rgba(184,134,11,.08)}.map-image{width:100%;max-width:100%;height:auto;object-fit:contain;display:block;filter:contrast(1.02) brightness(1.02)}.qr-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:200px}.qr-label{font-family:Siemreap,sans-serif;font-size:clamp(.8rem,2.2vw,.9rem);color:#8b6914;margin:0 0 8px;font-weight:500}.qr-code-card{width:100%;background:#fff;border-radius:16px;padding:14px;box-shadow:0 6px 24px #00000014,0 0 0 1px #b8860b1a;border:1px solid rgba(184,134,11,.18);transition:box-shadow .25s ease,transform .25s ease}.qr-code-card:hover{box-shadow:0 10px 32px #b8860b1f,0 0 0 2px #ffd70033;transform:translateY(-2px)}.qr-code-card-inner{border-radius:10px;overflow:hidden;background:#fff}.qr-code-image{width:100%;height:auto;object-fit:contain;display:block}.map-link-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;background:linear-gradient(135deg,gold,#b8860b);color:#fff;text-decoration:none;border-radius:12px;font-family:Siemreap,sans-serif;font-size:clamp(.95rem,2.4vw,1.1rem);font-weight:600;box-shadow:0 4px 16px #b8860b59;transition:all .25s ease;border:none}.map-link-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #b8860b80;background:linear-gradient(135deg,#ffed4e,#daa520)}.map-link-button:active{transform:translateY(0)}.map-link-button i{font-size:clamp(.95rem,2.4vw,1.05rem);opacity:.95}.map-link-button span{text-shadow:0 1px 2px rgba(0,0,0,.15)}@media screen and (max-width: 768px){#location{padding-bottom:90px}.location-section{padding:22px 15px 20px}.location-header{margin-bottom:20px}.location-title{margin-bottom:8px}.location-title-line{margin-bottom:12px}.location-info{padding:18px 16px;margin-bottom:20px;max-width:96%;border-radius:14px}.location-info-icon{width:36px;height:36px;margin-bottom:10px;font-size:1rem}.location-cards{gap:18px;margin-bottom:20px}.map-card{padding:10px;border-radius:14px}.map-card-inner{border-radius:10px}.qr-wrapper{max-width:180px}.qr-code-card{padding:12px;border-radius:14px}.map-link-button{padding:12px 22px;font-size:clamp(.9rem,2.2vw,1rem)}}@media screen and (max-width: 375px){#location{padding-bottom:85px}.location-section{padding:18px 12px 16px}.location-info{padding:16px 14px}.qr-wrapper{max-width:160px}}.page1-container h1{color:#333;font-size:3rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}@keyframes page1Entrance{0%{opacity:0;transform:perspective(1000px) rotateY(180deg) scale(.8)}to{opacity:1;transform:perspective(1000px) rotateY(0) scale(1)}}.page1-container.elegant-fade-entrance{animation:elegantFadeEntrance 1s ease-out forwards;transform:scale(1.3);filter:blur(8px) brightness(2)}@keyframes elegantFadeEntrance{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.page1-container.curtain-entrance{animation:curtainEntrance 1s ease-out forwards}@keyframes curtainEntrance{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.page1-container.blur-zoom-entrance{animation:blurZoomEntrance 1s ease-out forwards;transform:scale(.7);filter:blur(8px)}@keyframes blurZoomEntrance{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.page1-container.zoom-entrance{animation:zoomEntrance 1.5s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:scale(2.5) translateZ(0);will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased;color:#333}.page1-container.zoom-entrance h1{color:#333;font-size:3rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1);z-index:10}@keyframes zoomEntrance{0%{opacity:0;transform:scale(2.5) translateZ(0)}5%{opacity:.01;transform:scale(2.47) translateZ(0)}10%{opacity:.03;transform:scale(2.43) translateZ(0)}15%{opacity:.05;transform:scale(2.38) translateZ(0)}20%{opacity:.08;transform:scale(2.32) translateZ(0)}25%{opacity:.11;transform:scale(2.25) translateZ(0)}30%{opacity:.15;transform:scale(2.17) translateZ(0)}35%{opacity:.2;transform:scale(2.08) translateZ(0)}40%{opacity:.26;transform:scale(1.98) translateZ(0)}45%{opacity:.33;transform:scale(1.88) translateZ(0)}50%{opacity:.41;transform:scale(1.78) translateZ(0)}55%{opacity:.49;transform:scale(1.68) translateZ(0)}60%{opacity:.57;transform:scale(1.58) translateZ(0)}65%{opacity:.65;transform:scale(1.48) translateZ(0)}70%{opacity:.72;transform:scale(1.39) translateZ(0)}75%{opacity:.79;transform:scale(1.3) translateZ(0)}80%{opacity:.85;transform:scale(1.22) translateZ(0)}85%{opacity:.9;transform:scale(1.15) translateZ(0)}90%{opacity:.94;transform:scale(1.09) translateZ(0)}95%{opacity:.97;transform:scale(1.04) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.element{animation:zoomEntrance 1.8s cubic-bezier(.18,.89,.32,1.28) forwards;animation-delay:.5s}.schedule-section{background:linear-gradient(180deg,#faf8f3,#f5f2e8);padding:0 20px 100px;position:relative;min-height:0;display:flex;align-items:flex-start;justify-content:flex-start}.schedule-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffd70008,#b8860b0d);pointer-events:none;z-index:0}.schedule-container{position:relative;z-index:1;max-width:100%;margin:0 auto;padding:16px 0;width:100%}.schedule-title{font-family:Siemreap,sans-serif;font-size:clamp(1.5rem,5vw,2rem);color:#b8860b;text-align:center;margin-bottom:12px;font-weight:600;text-shadow:0 2px 8px rgba(184,134,11,.2)}.schedule-subtitle{font-family:Siemreap,sans-serif;font-size:clamp(1rem,3vw,1.2rem);color:#8b6914;text-align:center;margin-bottom:40px;font-weight:400;font-style:italic}.schedule-timeline{position:relative;max-width:100%;margin:0 auto;padding:20px 0 24px 16px}.schedule-timeline-line{position:absolute;left:44px;top:0;bottom:0;width:0;border-left:2px dotted #b8860b;z-index:0;opacity:.85}.schedule-item{position:relative;display:flex;align-items:flex-start;gap:0;margin-bottom:18px;z-index:1}.schedule-item:last-of-type{margin-bottom:0}.schedule-icon{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center;color:#8b6914;margin-top:4px}.schedule-dot{position:absolute;left:28px;top:8px;width:8px;height:8px;transform:translate(-50%);background:#b8860b;border-radius:50%;box-shadow:0 0 0 2px #b8860b40}.schedule-icon i{font-size:clamp(.9rem,2.5vw,1.1rem)}.schedule-entry{flex:1;min-width:0;margin-left:12px;font-family:Siemreap,sans-serif;font-size:clamp(.85rem,2.2vw,1rem);line-height:1.5;color:#5c4a2a;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px}.schedule-time{color:#8b6914;font-weight:600;flex-shrink:0}.schedule-desc{color:#5c4a2a;font-weight:400}@media screen and (max-width: 768px){.schedule-section{padding:0 15px 90px}.schedule-container{padding:12px 0}.schedule-subtitle{margin-bottom:35px}.schedule-timeline{padding-left:12px}.schedule-timeline-line{left:36px}.schedule-item{margin-bottom:16px}.schedule-dot{left:24px;width:6px;height:6px;top:6px}.schedule-icon{width:24px}.schedule-entry{margin-left:10px}}@media screen and (max-width: 375px){.schedule-section{padding:0 12px 85px}.schedule-container{padding:10px 0}.schedule-item{margin-bottom:14px}}.floating-cute{position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:50;cursor:pointer;animation:floatGentle 4s ease-in-out infinite;transition:transform .3s ease}.floating-cute:hover{transform:translateY(-50%) scale(1.05)}.floating-cute:active{transform:translateY(-50%) scale(.95)}.cute-image{width:clamp(150px,35vw,300px);height:auto;display:block;filter:drop-shadow(0 4px 15px rgba(0,0,0,.2));animation:floatBounce 3s ease-in-out infinite}@keyframes floatGentle{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(-10px)}}@keyframes floatBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-2deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-15px) rotate(2deg)}}.image-gallery-section{background:linear-gradient(180deg,#faf8f3,#f5f2e8);padding:50px 20px;min-height:100vh;position:relative}.image-section-header{text-align:center;margin-bottom:40px}.image-section-title{font-family:Siemreap,sans-serif;font-size:clamp(1.5rem,5vw,2rem);color:#b8860b;margin-bottom:12px;font-weight:600;text-shadow:0 2px 8px rgba(184,134,11,.2)}.image-section-subtitle{font-family:Siemreap,sans-serif;font-size:clamp(1rem,3vw,1.2rem);color:#8b6914;margin:0;font-weight:400;font-style:italic;line-height:1.6}.image-gallery-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(255,215,0,.03) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(184,134,11,.03) 0%,transparent 50%);pointer-events:none;z-index:0}.masonry-container{column-count:3;column-gap:20px;width:100%;max-width:100%;margin:0 auto;position:relative;z-index:1}.masonry-container .image-card{position:relative;z-index:1}@media screen and (max-width: 768px){.image-gallery-section{padding:40px 15px 50px}.masonry-container{column-count:2;column-gap:15px}}@media screen and (max-width: 375px){.image-gallery-section{padding:30px 10px 50px}.image-section-header{margin-bottom:25px;padding-top:10px}.masonry-container{column-count:2;column-gap:12px}}.wedding-footer{background:linear-gradient(180deg,#faf8f3,#f5f2e8);padding:40px 20px;padding-left:max(1rem,env(safe-area-inset-left,1rem));margin-bottom:4rem;padding-right:max(1rem,env(safe-area-inset-right,1rem));position:relative;z-index:1}.footer-container{max-width:100%;margin:0 auto}.footer-content{text-align:center}.footer-names{margin-bottom:24px}.footer-title{font-family:Siemreap,sans-serif;font-size:clamp(1rem,4vw,1.25rem);color:#b8860b;margin-bottom:8px;font-weight:600;line-height:1.4}.ampersand-elegant{font-family:serif;font-style:italic;color:#b8860b}.footer-date{color:#b8860b;font-weight:500;font-size:clamp(.875rem,3vw,1rem);margin:0}.footer-message{margin-bottom:24px}.footer-message p{color:#b8860b;font-size:clamp(.75rem,2.5vw,.875rem);font-weight:300;line-height:1.6;max-width:600px;margin:0 auto}.footer-logo-section{display:flex;align-items:center;justify-content:center;margin-bottom:24px;gap:16px}.footer-line{height:1px;width:80px;background:linear-gradient(to right,transparent,#ffd700,transparent);flex-shrink:0}.footer-logo{width:clamp(48px,12vw,80px);height:clamp(48px,12vw,80px);object-fit:contain;flex-shrink:0}.footer-copyright{text-align:center}.footer-copyright p{color:#b8860bcc;font-size:clamp(.75rem,2.5vw,.875rem);margin:0;line-height:1.5}@media screen and (max-width: 768px){.wedding-footer{padding:30px 15px}.footer-names,.footer-message{margin-bottom:20px}.footer-logo-section{margin-bottom:20px;gap:12px}.footer-line{width:60px}}@media screen and (max-width: 375px){.wedding-footer{padding:25px 12px}.footer-names,.footer-message{margin-bottom:18px}.footer-logo-section{margin-bottom:18px;gap:10px}.footer-line{width:50px}}@media screen and (max-width: 768px){.floating-cute{right:10px;top:40%}.cute-image{width:clamp(130px,30vw,250px)}}.nav-tabbar{position:fixed!important;bottom:20px!important;left:50%!important;transform:translate(-50%)!important;width:auto!important;min-width:280px;max-width:90%;background:#ffffff1a!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex!important;justify-content:space-around;align-items:center;padding:12px 20px;z-index:99999!important;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2);border-radius:1rem;margin:0;box-sizing:border-box;visibility:visible!important;opacity:1!important}.nav-tab{flex:1;background:transparent;border:none;color:gold;padding:12px;cursor:pointer;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50%;width:50px;height:50px}.nav-icon{font-size:clamp(20px,5vw,24px);transition:all .3s ease;color:gold}.nav-tab:hover{color:gold;background:#ffffff1a;transform:translateY(-3px)}.nav-tab:hover .nav-icon{color:gold;transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.nav-tab:active{color:gold;transform:translateY(0)}.nav-tab:active .nav-icon{color:gold;transform:scale(.9);transition:transform .1s ease}.nav-tab.active{color:#b8860b;background:#b8860b26;animation:tabActivate .4s ease-out}.nav-tab.active:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid rgba(184,134,11,.5);animation:pulseRing 2s ease-in-out infinite}.nav-tab.active .nav-icon{color:#b8860b;filter:drop-shadow(0 0 10px rgba(184,134,11,.8));transform:scale(1.08)}@keyframes tabActivate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes pulseRing{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@media screen and (max-width: 768px){.nav-tabbar{bottom:15px;padding:10px 15px;min-width:260px}.nav-tab{width:45px;height:45px;padding:10px}.nav-icon{font-size:clamp(18px,4.5vw,22px)}}@media screen and (max-width: 375px){.nav-tabbar{bottom:10px;padding:8px 12px;min-width:240px}.nav-tab{width:40px;height:40px;padding:8px}}.music-toggle-button{position:fixed!important;top:20px!important;left:20px!important;z-index:10000!important;width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,215,0,.5);background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:gold;cursor:pointer;display:flex!important;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px #0003;visibility:visible!important;opacity:1!important}.music-toggle-button:hover{background:#fff3;border-color:#ffd700cc;transform:scale(1.1);box-shadow:0 0 20px #ffd70066}.music-toggle-button:active{transform:scale(.95)}.music-toggle-button i{font-size:20px;transition:all .3s ease}.music-toggle-button:hover i{transform:scale(1.2)}@media screen and (max-width: 768px){.music-toggle-button{width:45px;height:45px;top:15px;left:15px}.music-toggle-button i{font-size:18px}}.image-card{break-inside:avoid;margin-bottom:20px;opacity:0;transform:translateY(50px) scale(.9);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);cursor:pointer;position:relative;z-index:1;isolation:isolate}.image-card.visible{opacity:1;transform:translateY(0) scale(1)}.card-frame{position:relative;z-index:0;background:#fff;border-radius:8px;padding:12px;box-shadow:0 8px 30px #0000001f,0 2px 8px #00000014;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease;overflow:hidden;isolation:isolate}.image-card:hover .card-frame{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px #b8860b33,0 4px 12px #00000026}.card-image-container{position:relative;z-index:1;width:100%;overflow:hidden;border-radius:4px;background:#f5f5f5}.card-image{position:relative;z-index:0;width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94);object-fit:cover}.image-card:hover .card-image{transform:scale(1.08)}.card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(180deg,#0000,#00000005,#0000000d);opacity:0;transition:opacity .4s ease;pointer-events:none}.image-card:hover .card-overlay{opacity:1}.card-corner{position:absolute;z-index:3;width:20px;height:20px;border:2px solid rgba(184,134,11,.3);opacity:0;transition:opacity .4s ease}.card-corner-tl{top:8px;left:8px;border-right:none;border-bottom:none;border-top-left-radius:4px}.card-corner-tr{top:8px;right:8px;border-left:none;border-bottom:none;border-top-right-radius:4px}.card-corner-bl{bottom:8px;left:8px;border-right:none;border-top:none;border-bottom-left-radius:4px}.card-corner-br{bottom:8px;right:8px;border-left:none;border-top:none;border-bottom-right-radius:4px}.image-card:hover .card-corner{opacity:1;border-color:#b8860b99}@media screen and (max-width: 768px){.image-card{margin-bottom:15px}.card-frame{padding:10px;border-radius:6px}.card-corner{width:16px;height:16px}.card-corner-tl,.card-corner-tr{top:6px}.card-corner-tl{left:6px}.card-corner-tr{right:6px}.card-corner-bl,.card-corner-br{bottom:6px}.card-corner-bl{left:6px}.card-corner-br{right:6px}}@media screen and (max-width: 375px){.image-card{margin-bottom:12px}.card-frame{padding:8px}.card-corner{width:14px;height:14px}}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000000f2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out;padding:0;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:absolute;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-image-container{position:relative;width:auto;max-width:90vw;height:auto;max-height:90vh;display:flex;align-items:center;justify-content:center;animation:zoomIn .3s ease-out;padding:60px 20px 20px;box-sizing:border-box}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-image{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;display:block}.lightbox-close{position:absolute;top:15px;right:15px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:20px;z-index:10001}.lightbox-close:hover{background:#ffffff40;border-color:#ffffff80;transform:scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:20px;z-index:10001}.lightbox-nav:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:15px}.lightbox-next{right:15px}@media screen and (max-width: 768px){.lightbox-image-container{padding:50px 10px 10px}.lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:18px}.lightbox-nav{width:40px;height:40px;font-size:18px}.lightbox-prev{left:10px}.lightbox-next{right:10px}}@media screen and (max-width: 375px){.lightbox-image-container{padding:45px 8px 8px}.lightbox-close{top:8px;right:8px;width:35px;height:35px;font-size:16px}.lightbox-nav{width:35px;height:35px;font-size:16px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
