@import url("https://fonts.googleapis.com/css2?family=Edu+NSW+ACT+Foundation:wght@400;600&family=Quicksand:wght@400;600&display=swap");*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}@media (max-width:768px){*{-webkit-overflow-scrolling:touch}body,html{overflow-y:scroll!important;height:100%!important;position:relative!important}}:root{--pink:#ffcad4;--red:#e63946;--vh:1vh;--bg-primary:#0d0d1a;--bg-secondary:#1a1a2e;--shadow-light:rgba(255,202,212,.1);--shadow-dark:rgba(0,0,0,.3)}body{margin:0;padding:0;background:linear-gradient(to bottom,var(--bg-primary),var(--bg-secondary));color:#fff;font-family:Quicksand,sans-serif;min-height:100vh;touch-action:pan-y;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body,html{overflow-x:hidden;overflow-y:scroll;width:100%;height:100%;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.hidden{display:none}.sparkling-stars-bg{top:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.sparkle-layer,.sparkling-stars-bg{position:absolute;width:100%;height:100%}.sparkle-layer{background-size:300px 300px;background-repeat:repeat;opacity:.8;will-change:opacity,transform;transform:translateZ(0)}.layer-1{background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,202,212,.8),transparent),radial-gradient(1px 1px at 90px 40px,hsla(0,0%,100%,.6),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,202,212,.4),transparent),radial-gradient(2px 2px at 160px 30px,hsla(0,0%,100%,.8),transparent);animation:sparkle1 4s ease-in-out infinite alternate}.layer-2{background-image:radial-gradient(1px 1px at 40px 60px,#fff,transparent),radial-gradient(3px 3px at 80px 10px,rgba(255,202,212,.6),transparent),radial-gradient(2px 2px at 120px 50px,hsla(0,0%,100%,.7),transparent),radial-gradient(1px 1px at 180px 90px,rgba(255,202,212,.5),transparent),radial-gradient(2px 2px at 220px 20px,hsla(0,0%,100%,.4),transparent);animation:sparkle2 6s ease-in-out infinite alternate;animation-delay:-2s}.layer-3{background-image:radial-gradient(1px 1px at 60px 20px,hsla(0,0%,100%,.8),transparent),radial-gradient(2px 2px at 100px 60px,rgba(255,202,212,.7),transparent),radial-gradient(1px 1px at 140px 10px,#fff,transparent),radial-gradient(3px 3px at 200px 70px,rgba(255,202,212,.5),transparent),radial-gradient(1px 1px at 260px 40px,hsla(0,0%,100%,.6),transparent);animation:sparkle3 5s ease-in-out infinite alternate;animation-delay:-1s}.twinkling-stars{position:absolute;width:100%;height:100%;background-image:radial-gradient(1px 1px at 50px 50px,hsla(0,0%,100%,.9),transparent),radial-gradient(1px 1px at 150px 100px,rgba(255,202,212,.8),transparent),radial-gradient(1px 1px at 250px 150px,hsla(0,0%,100%,.7),transparent);background-size:400px 400px;animation:twinkle 3s ease-in-out infinite}.stars-container{position:fixed;width:100%;height:100%;top:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.4}.stars-field{position:absolute;width:100%;height:100%;background-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 90px 40px,hsla(0,0%,100%,.8),transparent),radial-gradient(1px 1px at 160px 30px,hsla(0,0%,100%,.6),transparent);background-repeat:repeat;background-size:200px 150px}@keyframes sparkle1{0%,to{opacity:.3;transform:translateZ(0) scale(1)}50%{opacity:.8;transform:translateZ(0) scale(1.05)}}@keyframes sparkle2{0%,to{opacity:.4;transform:translateZ(0) scale(1)}50%{opacity:.9;transform:translateZ(0) scale(1.02)}}@keyframes sparkle3{0%,to{opacity:.2;transform:translateZ(0) scale(1.05)}50%{opacity:.7;transform:translateZ(0) scale(.95)}}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}@keyframes gentleGlow{0%,to{text-shadow:0 2px 10px rgba(255,202,212,.3)}50%{text-shadow:0 2px 10px rgba(255,202,212,.6),0 0 20px rgba(255,202,212,.4)}}.login-screen{height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;background:transparent;padding:24px;width:100%;box-sizing:border-box;position:relative;overflow:hidden}.login-content{opacity:0;transform:translate3d(0,30px,0) scale(.95);transition:all 1.2s cubic-bezier(.4,0,.2,1);z-index:10;position:relative;will-change:opacity,transform}.login-content.visible{opacity:1;transform:translateZ(0) scale(1)}.login-form{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:16px;margin:0 auto}.login-screen h1{font-family:Edu NSW ACT Foundation,cursive;font-size:3rem;margin:0 0 16px;color:var(--pink);text-shadow:0 2px 10px rgba(255,202,212,.3);animation:gentleGlow 3s ease-in-out infinite alternate}.login-input{width:100%!important;max-width:320px;margin:0 auto;display:block;font-size:16px;padding:16px 20px;border-radius:25px;border:2px solid rgba(255,202,212,.4);background:rgba(0,0,0,.3);color:#fff;text-align:center;box-sizing:border-box;outline:none;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-input:focus{transform:scale(1.02);box-shadow:0 0 20px rgba(255,202,212,.4),0 0 40px rgba(255,202,212,.2);border-color:rgba(255,202,212,.8)}.login-screen input{padding:10px 15px;border-radius:20px;outline:none;margin-bottom:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-screen button,.login-screen input{border:none;font-size:1rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.login-screen button{padding:10px 20px;border-radius:20px;background:var(--red);color:#fff;cursor:pointer;position:relative;overflow:hidden}.login-screen button:hover{background:#d62839;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px rgba(230,57,70,.4),0 0 20px rgba(255,202,212,.3)}.login-screen button:active{transform:translateY(0) scale(.98)}.section{min-height:100vh;height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 20px;font-size:2rem;opacity:0;transform:translateY(50px) scale(.95);transition:all 1s cubic-bezier(.25,.46,.45,.94);background:linear-gradient(135deg,rgba(26,26,46,.85),rgba(22,33,62,.8) 50%,rgba(13,13,26,.9));border:1px solid rgba(255,202,212,.15);border-radius:20px;margin:20px 15px;box-shadow:0 4px 15px var(--shadow-dark);position:relative;overflow:visible;touch-action:auto;will-change:opacity,transform}.section.visible{opacity:1;transform:translateY(0) scale(1)}@media (max-width:768px){.section{transition:all .8s cubic-bezier(.25,.46,.45,.94);transform:translateY(40px) scale(.98)}.section.visible{transform:translateY(0) scale(1)}.section{min-height:90vh;padding:30px 15px;font-size:1.6rem;margin:15px 10px;border-radius:16px}.section p{font-size:1.8rem}.login-screen{padding:20px 15px}.login-screen h1{font-size:2.5rem}.romantic{font-size:1.8rem;line-height:2.4rem}.big-love{font-size:3.5rem}.romantic-text-line{font-size:2rem;line-height:2.8rem}.romantic-text-line.first-line{font-size:2.6rem}.romantic-text-line.question-line{font-size:2.4rem}.sparkle-layer{animation-duration:8s!important}.layer-1{animation:sparkle1 8s ease-in-out infinite alternate}.layer-2{animation:sparkle2 10s ease-in-out infinite alternate;animation-delay:-3s}.layer-3{animation:sparkle3 9s ease-in-out infinite alternate;animation-delay:-2s}.twinkling-stars{animation:twinkle 5s ease-in-out infinite}.login-content{transition:all .8s cubic-bezier(.4,0,.2,1)}}@media (max-width:480px){.section{min-height:80vh;padding:25px 10px;font-size:1.4rem;margin:10px 8px;border-radius:14px}.section p{font-size:1.6rem}.login-screen{padding:15px 10px}.login-screen h1{font-size:2rem}.romantic{font-size:1.6rem;line-height:2.2rem}.big-love{font-size:3rem}.romantic-text-line{font-size:1.8rem;line-height:2.6rem}.romantic-text-line.first-line{font-size:2.2rem}.romantic-text-line.question-line{font-size:2rem}.btn{padding:12px 24px;font-size:1rem;min-width:120px;margin:16px auto 0}.btn-romantic{padding:14px 28px;font-size:1.1rem;min-width:120px;margin:20px auto 0}.card{padding:30px 20px;max-width:90vw}.night-sky{width:150px;height:150px}.btn-row{flex-direction:column;gap:12px;align-items:center;justify-content:center;width:100%}.btn-row .btn{width:100%;max-width:250px;margin:0 auto}.sparkle-layer{animation:none!important;opacity:.3!important}.twinkling-stars{animation:none!important;opacity:.2!important}.login-content{transition:opacity .5s ease-out}.login-content,.login-content.visible{transform:none!important}}.btn{margin:24px auto 0;padding:14px 28px;background:linear-gradient(135deg,var(--red),#d62839);color:#fff;border:none;border-radius:30px;font-size:1.2rem;cursor:pointer;transition:all .3s ease;font-family:Quicksand,sans-serif;font-weight:600;box-shadow:0 4px 15px rgba(230,57,70,.3),0 2px 4px rgba(0,0,0,.2);text-transform:uppercase;letter-spacing:.5px;display:block;text-align:center}.btn:active{transform:scale(.98)}.btn:hover{background:linear-gradient(135deg,#d62839,var(--red));box-shadow:0 6px 20px rgba(230,57,70,.4),0 4px 8px rgba(0,0,0,.3);transform:translateY(-2px)}.popup{position:fixed;inset:0;background:transparent;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:all .6s ease;z-index:100;padding:20px}.popup.active{opacity:1;pointer-events:auto}.card{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0d0d1a);padding:40px 32px;border-radius:24px;text-align:center;max-width:640px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.6),0 0 20px rgba(255,202,212,.1),inset 0 1px 0 hsla(0,0%,100%,.1);border:1px solid rgba(255,202,212,.2);transform:translateY(20px);transition:transform .6s ease;position:relative;z-index:10}.popup.active .card{transform:translateY(0)}.romantic{font-family:Edu NSW ACT Foundation,cursive;color:var(--pink);font-size:2.2rem;line-height:2.8rem;margin-bottom:24px;font-weight:500}.btn-row{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:24px;flex-wrap:wrap;width:100%;text-align:center}.btn-ghost{background:transparent;border:2px solid var(--pink);color:var(--pink);box-shadow:0 4px 15px rgba(255,202,212,.2),0 2px 4px rgba(0,0,0,.1)}.btn-ghost:hover{background:var(--pink);color:#1a1a2e;box-shadow:0 6px 20px rgba(255,202,212,.4),0 4px 8px rgba(0,0,0,.2)}.heart{position:fixed;transform:rotate(45deg);animation:float 1.5s ease-out forwards}.heart,.heart:after,.heart:before{width:14px;height:14px;background:var(--pink)}.heart:after,.heart:before{content:"";position:absolute;border-radius:50%}.heart:before{left:-7px;top:0}.heart:after{left:0;top:-7px}@keyframes float{0%{opacity:0;transform:translateZ(0) scale(.6) rotate(45deg)}50%{opacity:1}to{opacity:0;transform:translate3d(0,-120px,0) scale(1.2) rotate(45deg)}}.night-sky{position:relative;width:auto;height:auto;max-width:250px;max-height:250px;border-radius:50%;background:transparent;border:none;margin:0 auto 24px;overflow:hidden;display:flex;justify-content:center;align-items:center}.night-sky img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;border-radius:50%!important;object-fit:contain!important;z-index:1;display:block!important;margin:0 auto!important}.big-love{font-family:Edu NSW ACT Foundation,cursive;font-size:4.5rem;font-weight:700;color:var(--pink);margin-bottom:24px}.disclaimer{font-size:.9rem;color:rgba(255,202,212,.7);font-style:italic;margin-top:16px;line-height:1.4;font-family:Quicksand,sans-serif}@keyframes heartbeat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translateZ(0) scale(1.1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.romantic-text-line{font-family:Edu NSW ACT Foundation,cursive;color:var(--pink);font-size:2.4rem;line-height:3.2rem;text-align:center;opacity:0;margin:20px 0;transform:translateY(30px) scale(.95);transition:all 1s cubic-bezier(.34,1.56,.64,1);will-change:opacity,transform}.romantic-text-line.visible{opacity:1;transform:translateY(0) scale(1)}.romantic-text-line:first-child{transition-delay:.1s}.romantic-text-line:nth-child(2){transition-delay:.2s}.romantic-text-line:nth-child(3){transition-delay:.3s}.romantic-text-line:nth-child(4){transition-delay:.4s}.romantic-text-line:nth-child(5){transition-delay:.5s}.romantic-text-line.first-line{font-size:3.2rem;margin-bottom:40px}.romantic-text-line.question-line{font-size:2.8rem;margin-top:40px;color:#fff}.btn-romantic{margin:32px auto 0;padding:16px 32px;background:linear-gradient(135deg,var(--pink),var(--red));color:#fff;border:none;border-radius:35px;font-size:1.3rem;cursor:pointer;transition:all .3s ease;font-family:Quicksand,sans-serif;font-weight:600;box-shadow:0 4px 15px rgba(230,57,70,.3);text-transform:uppercase;letter-spacing:1px;display:block;text-align:center}.btn-romantic:hover{background:linear-gradient(135deg,var(--red),var(--pink));box-shadow:0 6px 20px rgba(230,57,70,.4);transform:translateY(-2px)}.btn-romantic:active{transform:translateY(0) scale(.98)}.romantic-section{position:relative;background:linear-gradient(135deg,rgba(26,26,46,.85),rgba(22,33,62,.8) 50%,rgba(13,13,26,.9));border:1px solid rgba(255,202,212,.15);border-radius:20px;margin:20px 15px;padding:40px 20px;box-shadow:0 4px 15px var(--shadow-dark);overflow:hidden;opacity:0;transform:translateY(60px) scale(.93);transition:all 1.2s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform}.romantic-section.visible{opacity:1;transform:translateY(0) scale(1)}.romantic-section .romantic-text-line{opacity:1;color:var(--pink)}.romantic-section .first-line{font-size:3.8rem;margin-bottom:0}.romantic-section .question-line{font-size:3.2rem;color:#fff}@media (max-width:768px){.romantic-section{margin:15px 10px;padding:30px 15px;border-radius:16px;transform:translateY(45px) scale(.95);transition:all .9s cubic-bezier(.25,.46,.45,.94)}.romantic-section.visible{transform:translateY(0) scale(1)}.romantic-text-line{transform:translateY(25px) scale(.96);transition:all .8s cubic-bezier(.34,1.56,.64,1)}.romantic-text-line.visible{transform:translateY(0) scale(1)}.romantic-section .first-line{font-size:2.8rem}.romantic-section .question-line{font-size:2.6rem}.popup{padding:15px}.card{margin:10px;padding:25px 20px;max-width:calc(100vw - 30px);border-radius:20px}.night-sky{max-width:200px;max-height:200px;margin:0 auto 20px}.popup-question{font-size:2.4rem;line-height:1.4;font-weight:600}}@media (max-width:480px){.romantic-section{margin:10px 8px;padding:25px 10px;border-radius:14px}.romantic-section .first-line{font-size:2.4rem}.romantic-section .question-line{font-size:2.2rem}.popup{padding:10px}.card{margin:5px;padding:20px 15px;max-width:calc(100vw - 20px);border-radius:18px}.night-sky{max-width:180px;max-height:180px;margin:0 auto 15px}.romantic{font-size:1.7rem;line-height:2.3rem}.big-love{font-size:2.5rem;margin-bottom:16px}.popup-question{font-size:2.2rem;line-height:1.4;font-weight:600}}.popup-question{font-size:2.8rem;line-height:1.4;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.section{transition:opacity .8s ease-out,transform .8s ease-out}.popup{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}input:focus{box-shadow:0 0 10px rgba(255,202,212,.5);border-color:var(--pink);transition:all .3s ease}@media (max-width:480px){.btn,.btn-romantic{min-width:150px;padding:16px 24px;font-size:1.1rem;margin:16px auto 0;display:block}.btn,.btn-romantic,input{min-height:48px;border-radius:24px}input{padding:14px 18px;font-size:16px}.login-screen input{font-size:16px;width:280px;max-width:90vw}.login-screen button{min-height:48px;padding:14px 28px;font-size:1.1rem}}.section{min-height:calc(var(--vh, 1vh) * 100)}.login-screen{height:calc(var(--vh, 1vh) * 100)}@supports (-webkit-touch-callout:none){body{overflow-y:scroll!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain}.romantic-section,.section{min-height:-webkit-fill-available;touch-action:pan-y}#mainContent,#romanticContent,#welcomeContent{height:auto!important;overflow:visible!important}}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.btn,.btn-ghost,.btn-romantic{touch-action:manipulation}.btn-ghost:active,.btn-romantic:active,.btn:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.1s!important}.sparkle-layer,.twinkling-stars{animation:none!important;opacity:.2!important}.login-content{transition:opacity .3s ease-out!important}.login-content,.login-content.visible{transform:none!important}}@media (max-width:768px){body,html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:scroll!important;touch-action:pan-y;height:100%}.romantic-section,.section{scroll-margin-top:2rem;touch-action:auto;position:relative;z-index:auto;transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.romantic-section:not(.visible),.section:not(.visible){opacity:0;transform:translateY(40px) scale(.96)}#mainContent,#romanticContent,#welcomeContent{overflow:visible!important;height:auto!important;touch-action:auto;position:static}.popup{touch-action:auto}.popup.active{overflow-y:auto;-webkit-overflow-scrolling:touch}}.scroll-guide{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:100;pointer-events:none;animation:fadeInOut 4.5s ease-in-out forwards}.scroll-guide-content{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(0,0,0,.8);border:1px solid rgba(255,202,212,.3);border-radius:20px;padding:12px 20px}.scroll-text{font-family:Quicksand,sans-serif;font-size:14px;color:#ffcad4;font-weight:500;text-align:center;white-space:nowrap}.scroll-arrow{font-size:18px;color:#ffcad4}@keyframes fadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}11%{opacity:1;transform:translateX(-50%) translateY(0)}89%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-10px)}}@media (max-width:768px){.scroll-guide{top:15px}.scroll-guide-content{padding:10px 16px;border-radius:16px}.scroll-text{font-size:13px}.scroll-arrow{font-size:16px}}@media (max-width:480px){.scroll-guide{top:10px}.scroll-guide-content{padding:8px 14px;border-radius:14px}.scroll-text{font-size:12px}.scroll-arrow{font-size:15px}}.subtle-guide-screen{height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;background:transparent;padding:24px;width:100%;box-sizing:border-box;animation:fadeIn .8s ease-in-out}.subtle-guide-content{display:flex;flex-direction:column;align-items:center;gap:24px}.subtle-guide-text{font-family:Edu NSW ACT Foundation,cursive;font-size:2.4rem;color:var(--pink);text-align:center;opacity:0;animation:gentleReveal 1.5s ease-out .5s forwards;text-shadow:0 2px 4px rgba(0,0,0,.3)}.subtle-guide-dots{display:flex;gap:8px;justify-content:center;align-items:center}.dot{width:8px;height:8px;background:var(--pink);border-radius:50%;opacity:.3;animation:dotPulse 1.5s ease-in-out infinite}.dot:first-child{animation-delay:0s}.dot:nth-child(2){animation-delay:.5s}.dot:nth-child(3){animation-delay:1s}@keyframes gentleReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.subtle-guide-text{font-size:2rem;padding:0 15px}.subtle-guide-screen{padding:20px 15px}}@media (max-width:480px){.subtle-guide-text{font-size:1.8rem;padding:0 10px}.subtle-guide-screen{padding:15px 10px}}.night-sky-star{position:absolute;background:#fff;border-radius:50%;opacity:.7}.floating-image{position:absolute;right:-10px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .8s ease-out;z-index:10;pointer-events:none}.floating-image.visible{opacity:1}.floating-image img{display:block;object-fit:cover;box-shadow:0 4px 15px rgba(255,202,212,.3)}@media (max-width:768px){.floating-image{position:relative;right:auto;top:auto;transform:none;display:block;margin:20px auto 0;text-align:center}.floating-image img{margin:0 auto;max-width:140px;height:auto}.no-rounded-image img{max-width:160px;height:auto}}@media (max-width:480px){.floating-image img{max-width:100px}.no-rounded-image img{max-width:140px;height:auto}.floating-image{margin:15px auto 0}}.image-container,.no-rounded-image{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;text-align:center!important;margin:0 auto!important}.no-rounded-image img{max-width:250px!important;width:auto!important;height:auto!important;display:block!important;margin:0 auto!important}#mainContent,#romanticContent,#welcomeContent{height:auto;min-height:100vh;width:100%;overflow:visible;position:relative;z-index:1}