@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{color:#d6336c;background-image:url(/bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:hidden}.gotcha-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.memories-btn-gotcha{color:#fff;opacity:0;background:linear-gradient(45deg,#ff6b9d,#ff8fab);margin-top:2rem;padding:15px 30px;font-size:clamp(1rem,3vw,1.2rem);animation:1s ease-out 2.5s forwards fadeInButton}.memories-btn-gotcha:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b9d66}.gallery-page{background-image:url(/bg.jpg);background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;padding:2rem 1rem}.gallery-header,.story-header{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 3rem;display:flex}.gallery-header h1,.story-header h1{color:#d6336c;text-shadow:2px 2px 4px #0000001a;text-align:center;flex:1;font-size:clamp(2rem,5vw,3rem)}.back-btn-gallery,.home-btn-gallery,.back-btn-story,.home-btn-story{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:25px;padding:12px 20px;font-weight:600;transition:all .3s}.gallery-container,.story-container{max-width:1200px;margin:0 auto}.gallery-intro,.story-intro{text-align:center;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#fff0;border-radius:25px;margin-bottom:3rem;padding:2rem}.photos-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.photo-card{animation:.6s ease-out both fadeInUp}.photo-container{cursor:pointer;border-radius:20px;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 8px 25px #0000001a}.photo-container:hover{transform:translateY(-10px)}.gallery-photo{object-fit:cover;width:100%;height:300px}.photo-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#000c);padding:2rem;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.photo-container:hover .photo-overlay{opacity:1}.photo-caption{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.photo-date{opacity:.8;font-size:.9rem}.photo-modal-overlay{z-index:3000;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.photo-modal{background:#fff;border-radius:20px;max-width:90%;max-height:90%;position:relative;overflow:hidden}.close-photo-btn{color:#fff;cursor:pointer;z-index:1;background:#000000b3;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.modal-photo{object-fit:contain;width:100%;height:auto;max-height:70vh}.modal-photo-info{text-align:center;color:#d6336c;padding:2rem}.timeline{padding:2rem 0;position:relative}.timeline:before{content:"";background:linear-gradient(#ff6b9d,#ff8fab);width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{width:45%;margin-bottom:4rem;animation:.8s ease-out both fadeInUp;position:relative}.timeline-item.left{left:0}.timeline-item.right{left:55%}.timeline-marker{z-index:3;background:#fff;border:4px solid #ff8fab;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:absolute;top:20px}.timeline-item.left .timeline-marker{right:-85px}.timeline-item.right .timeline-marker{left:-85px}.timeline-icon{font-size:1.5rem}.timeline-content{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border-radius:20px;padding:2rem;box-shadow:0 8px 25px #0000001a}.timeline-date{color:#ff6b9d;margin-bottom:.5rem;font-weight:600}.timeline-title{color:#d6336c;margin-bottom:1rem;font-size:1.4rem}.timeline-description{color:#666;line-height:1.6}.story-footer{text-align:center;margin-top:4rem}.story-quote{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border-radius:25px;margin-bottom:2rem;padding:3rem}.story-quote p{color:#d6336c;margin-bottom:1rem;font-size:1.3rem;font-style:italic}.story-question{font-weight:600;font-size:1.5rem!important}.answer-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:30px;padding:20px 40px;font-size:1.3rem;font-weight:600;transition:all .3s}.answer-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ff6b9d66}@media (max-width:768px){.timeline:before{left:30px}.timeline-item{width:calc(100% - 80px);left:80px!important}.timeline-marker{left:-85px!important}.photos-grid{grid-template-columns:1fr}.gallery-header,.story-header{flex-direction:column;gap:1rem}.memories-btn-gotcha,.continue-btn{color:#fff;opacity:0;background:linear-gradient(45deg,#ff6b9d,#ff8fab);margin-top:2rem;padding:15px 30px;font-size:clamp(1rem,3vw,1.2rem);animation:1s ease-out 2.5s forwards fadeInButton}}.home-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.home-container header h1{text-shadow:2px 2px 4px #0000001a;margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);animation:1s ease-out fadeInDown}.subheading{opacity:.8;margin-bottom:2rem;font-size:clamp(1rem,3vw,1.2rem);animation:1s ease-out .3s both fadeInUp}.main-content{z-index:2;background:linear-gradient(to bottom right,#ffe6ea,#fff);border-radius:30px;width:90%;max-width:450px;height:200px;padding:clamp(20px,5vw,40px);animation:1.5s ease-in-out .6s both fadeIn;position:relative;box-shadow:0 12px 24px #00000026}.main-content p{margin-bottom:2rem;font-size:clamp(1.2rem,4vw,1.5rem)}.button-group{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}button{cursor:pointer;border:none;border-radius:20px;min-width:120px;min-height:50px;padding:12px 24px;font-family:inherit;font-size:clamp(.9rem,3vw,1.1rem);font-weight:700;transition:all .3s}button.yes{color:#fff;background:linear-gradient(45deg,#ff6b9d,#ff8fab);min-height:50px}button.yes:hover{transform:scale(1.05);box-shadow:0 8px 20px #ff6b9d66}button.no{color:#fff;background:linear-gradient(45deg,#ffa8c0,#ffb3c6);position:relative}button.no:hover{transform:scale(1.05);box-shadow:0 8px 20px #ffb3c666}.floating-img-container{pointer-events:none;z-index:1;height:100px;position:fixed;bottom:20px;left:0;right:0}@keyframes clockwiseScreenLoop{0%{top:0;left:0}25%{top:0;left:calc(100vw - 200px)}50%{top:calc(100vh - 200px);left:calc(100vw - 200px)}75%{top:calc(100vh - 200px);left:0}to{top:0;left:0}}.floating-emoji{z-index:10;width:50px;height:50px;font-size:3rem;animation:6s linear infinite clockwiseScreenLoop;position:fixed}.messages-btn{color:#fff;cursor:pointer;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ff6b9d 0%,#ff8fab 50%,#ffa8c0 100%);border:2px solid #fff3;border-radius:50px;padding:15px 25px;font-size:1rem;font-weight:600;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:fixed;top:25px;right:25px;box-shadow:0 8px 25px #ff6b9d66}.messages-btn:hover{background:linear-gradient(135deg,#ff8fab 0%,#ffa8c0 50%,#ffb3c6 100%);transform:scale(1.1)translateY(-2px);box-shadow:0 15px 35px #ff6b9d99}.messages-btn:active{transform:scale(.95)}.modal-overlay{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.4s cubic-bezier(.175,.885,.32,1.275) modalFadeIn;display:flex;position:fixed;top:0;left:0}.password-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:linear-gradient(145deg,#fffffff2,#ffffffd9);border-radius:25px;width:90%;max-width:450px;padding:3rem 2.5rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 20px 40px #ff6b9d4d,0 0 0 1px #fff3}.password-modal:before{content:"";background:linear-gradient(90deg,#ff6b9d,#ff8fab,#ffa8c0);height:4px;animation:2s ease-in-out infinite shimmer;position:absolute;top:0;left:0;right:0}.password-modal h2{color:#d6336c;margin-bottom:.5rem;font-size:2rem;font-weight:600}.password-modal p{color:#888;margin-bottom:2rem;font-size:1.1rem;font-style:italic}.password-input{text-align:center;letter-spacing:.5px;background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(45deg,#ff6b9d,#ff8fab) border-box;border:3px solid #0000;border-radius:15px;outline:none;width:100%;margin-bottom:1.5rem;padding:18px 25px;font-family:Poppins,sans-serif;font-size:1.1rem;transition:all .3s}.password-input:focus{background:linear-gradient(#fafafa,#fafafa) padding-box padding-box,linear-gradient(45deg,#ff6b9d,#ff8fab) border-box;transform:translateY(-2px);box-shadow:0 10px 25px #ff6b9d4d}.password-input::placeholder{color:#bbb;font-style:italic}.error-message{color:#ff4757;background:#ff47571a;border-left:4px solid #ff4757;border-radius:10px;margin-bottom:1.5rem;padding:12px;font-size:1rem;animation:.6s ease-in-out shake}.modal-buttons{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:15px;padding:15px 30px;font-size:1.1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.submit-btn:hover:before{left:100%}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ff6b9d80}.cancel-btn{color:#666;cursor:pointer;background:#f1f2f6cc;border:none;border-radius:15px;padding:15px 30px;font-weight:500;transition:all .3s}.cancel-btn:hover{background:#dcdde1e6;transform:translateY(-2px)}.messages-modal{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:linear-gradient(145deg,#fffffff2,#ffffffe6);border-radius:25px;width:95%;max-width:600px;max-height:85vh;animation:.6s cubic-bezier(.175,.885,.32,1.275) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 25px 50px #ff6b9d66,0 0 0 1px #ffffff4d}.messages-header{color:#fff;background:linear-gradient(135deg,#ff6b9d 0%,#ff8fab 50%,#ffa8c0 100%);justify-content:space-between;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.messages-header:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");animation:6s ease-in-out infinite float;position:absolute;inset:0}.messages-header h2{z-index:1;margin:0;font-size:1.8rem;font-weight:600;position:relative}.close-btn{color:#fff;cursor:pointer;z-index:1;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:10px;font-size:1.5rem;transition:all .3s;display:flex;position:relative}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)scale(1.1)}.messages-list{scrollbar-width:thin;scrollbar-color:#ff8fab #f1f1f1;max-height:400px;padding:2rem;overflow-y:auto}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.messages-list::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#ff6b9d,#ff8fab);border-radius:10px}.message-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffe6eacc 0%,#fff0f3e6 100%);border-left:5px solid #ff8fab;border-radius:20px;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s;animation:.6s ease-out messageSlideIn;position:relative;overflow:hidden}.message-item:hover{transform:translate(5px);box-shadow:0 8px 25px #ff6b9d33}.message-item:last-child{margin-bottom:0}.message-item:before{content:"";background:radial-gradient(circle,#ff8bab1a 0%,#0000 70%);border-radius:50%;width:60px;height:60px;position:absolute;top:0;right:0}.message-date{color:#999;align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.9rem;font-weight:500;display:flex}.message-text{color:#d6336c;z-index:1;font-size:1.1rem;font-weight:500;line-height:1.6;position:relative}.gotcha-container{text-align:center;color:#fe5757;background-image:url(/bg.jpg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;font-size:clamp(1.5rem,5vw,2.5rem);display:flex}.gotcha-container h1{margin-bottom:2rem;transition:all 1.2s cubic-bezier(.25,.46,.45,.94);transform:translateY(0)}.gotcha-container h1.text-moved-up{transform:translateY(-60px)}.image-space{justify-content:center;align-items:center;height:200px;margin:2rem 0;display:flex}.surprise-image{opacity:0;animation:1.5s cubic-bezier(.34,1.56,.64,1) forwards gentleSlideUp;transform:scale(.3)translateY(80px)}.cat-emoji{font-size:clamp(3rem,10vw,5rem)}.continue-btn,.home-btn{color:#fff;opacity:0;background:linear-gradient(45deg,#ff6b9d,#ff8fab);margin-top:2rem;padding:15px 30px;font-size:clamp(1rem,3vw,1.2rem);animation:1s ease-out 2.5s forwards fadeInButton}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b9d66}.games-container{min-height:100vh;padding:2rem}.games-header{text-align:center;margin-bottom:3rem}.games-header h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,2.5rem)}.games-header p{margin-bottom:2rem;font-size:clamp(1rem,3vw,1.2rem)}.games-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.game-card{text-align:center;cursor:pointer;background:#fff;border-radius:20px;padding:2rem;transition:all .3s;box-shadow:0 8px 20px #0000001a}.game-card:hover{transform:translateY(-10px)scale(1.02);box-shadow:0 15px 40px #0003}.game-icon{margin-bottom:1rem;font-size:4rem;animation:2s infinite bounce}.game-card h3{color:#d6336c;margin-bottom:.5rem;font-size:1.3rem}.game-description{color:#666;opacity:.8;font-size:.9rem}.kiss-catch-container,.quiz-container,.memory-game-container,.heart-clicker-container{min-height:100vh;padding:2rem}.game-header{text-align:center;margin-bottom:2rem}.game-header h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,2.5rem)}.game-stats{flex-wrap:wrap;justify-content:center;gap:2rem;font-size:clamp(1rem,3vw,1.2rem);font-weight:700;display:flex}.game-start,.game-over,.quiz-result,.game-instructions,.game-complete{text-align:center;background:#fff;border-radius:20px;max-width:500px;margin:2rem auto;padding:3rem;box-shadow:0 10px 30px #0000001a}.start-btn,.play-again-btn,.back-btn,.retry-btn{color:#fff;background:linear-gradient(45deg,#ff6b9d,#ff8fab);margin:.5rem;padding:15px 30px;font-size:clamp(1rem,3vw,1.3rem)}.game-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;max-width:600px;height:400px;margin:2rem auto;position:relative;overflow:hidden}.kiss{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:2rem;transition:transform .2s;animation:3s ease-in-out infinite float;position:absolute}.kiss:hover{transform:scale(1.3)}.kiss:active{transform:scale(.9)}.peck-message{color:#ff6b9d;margin:1rem 0;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:700}.game-over-buttons,.result-buttons,.game-complete-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.quiz-header{text-align:center;width:100%;margin-bottom:2rem}.progress-bar{background:#ffffff4d;border-radius:10px;width:100%;max-width:400px;height:8px;margin:1rem auto;overflow:hidden}.progress-fill{background:linear-gradient(45deg,#ff6b9d,#ff8fab);border-radius:10px;height:100%;transition:width .3s}.question-card{background:#fff;border-radius:20px;width:100%;max-width:600px;padding:2rem;box-shadow:0 10px 30px #0000001a}.question-card h2{color:#d6336c;margin-bottom:2rem;font-size:clamp(1.3rem,4vw,1.5rem)}.options{gap:1rem;display:grid}.option-btn{color:#fff;text-align:left;background:linear-gradient(45deg,#ffa8c0,#ffb3c6);border-radius:10px;padding:15px;font-size:clamp(.9rem,3vw,1rem);transition:all .3s}.option-btn:hover:not(:disabled){background:linear-gradient(45deg,#ff6b9d,#ff8fab);transform:translate(10px)}.option-btn.correct{background:linear-gradient(45deg,#4caf50,#66bb6a);transform:scale(1.02)}.option-btn.incorrect{background:linear-gradient(45deg,#f44336,#ef5350);transform:scale(.98)}.option-btn:disabled{cursor:not-allowed}.score-display{color:#ff6b9d;margin:2rem 0;font-size:3rem;font-weight:700}.score-number{font-size:4rem}.score-total{opacity:.7;font-size:2rem}.result-message{color:#ff6b9d;text-align:center;margin:1rem 0;font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700}.cards-grid{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:500px;margin:2rem auto;padding:0 1rem;display:grid}.memory-card{aspect-ratio:1;cursor:pointer;transform-style:preserve-3d;background:#fff;border-radius:15px;transition:transform .6s;position:relative;box-shadow:0 4px 8px #0000001a}.memory-card.flipped{transform:rotateY(180deg)}.memory-card.matched{opacity:.6;cursor:default}.card-front,.card-back{backface-visibility:hidden;border-radius:15px;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex;position:absolute}.card-front{color:#fff;background:linear-gradient(45deg,#ffa8c0,#ffb3c6)}.card-back{color:#fff;background:linear-gradient(45deg,#ff6b9d,#ff8fab);transform:rotateY(180deg)}.completion-message{color:#ff6b9d;margin:1rem 0;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:700}.clicking-area{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex;position:relative}.clickable-heart{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,15vw,10rem);transition:transform .1s;animation:2s infinite pulse;position:relative}.clickable-heart:hover{transform:scale(1.1)}.clickable-heart:active{transform:scale(.95)}.click-effect{color:#ff6b9d;pointer-events:none;font-size:1.5rem;font-weight:700;animation:1s ease-out forwards clickEffect;position:absolute}.click-instruction{color:#d6336c;margin-top:2rem;font-size:clamp(1.1rem,3vw,1.3rem);animation:2s infinite bounce}.final-score{text-align:center;margin:2rem 0}.score-number{color:#ff6b9d;font-size:clamp(3rem,8vw,5rem);font-weight:700;display:block}.score-label{color:#666;font-size:clamp(1.2rem,3vw,1.5rem)}.performance-message{color:#ff6b9d;margin:1rem 0;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:700}.love-message{color:#d6336c;margin:1rem 0;font-size:clamp(1rem,3vw,1.2rem);font-style:italic}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.8)translateY(-50px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes messageSlideIn{0%{opacity:0;transform:translate(-30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeftRight{0%{left:0%;transform:translate(0)}to{left:100%;transform:translate(-100%)}}@keyframes gentleSlideUp{0%{opacity:0;transform:scale(.3)translateY(80px)}40%{opacity:.6;transform:scale(.7)translateY(20px)}70%{opacity:.9;transform:scale(1.1)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeInButton{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-20px)rotate(5deg)}50%{transform:translateY(-10px)rotate(0)}75%{transform:translateY(-15px)rotate(-5deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes clickEffect{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-50px)scale(1.5)}}@media (max-width:768px){.games-grid{grid-template-columns:1fr;gap:1.5rem}.cards-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;max-width:350px}.game-stats{flex-direction:column;gap:.5rem}.main-content{height:300px;margin:20px auto;padding:30px 20px}.button-group{flex-direction:column;align-items:center}button{width:100%;max-width:200px}.game-over-buttons,.result-buttons,.game-complete-buttons{flex-direction:column;align-items:center}.messages-btn{padding:12px 20px;font-size:.9rem;top:15px;right:15px}.password-modal,.messages-modal{width:95%;margin:1rem}.password-modal{padding:2rem 1.5rem}.messages-modal{max-height:90vh}.messages-header{padding:1.5rem}.messages-header h2{font-size:1.5rem}.messages-list{max-height:350px;padding:1.5rem}.message-item{margin-bottom:1.2rem;padding:1.2rem}.modal-buttons{flex-direction:column;gap:.8rem}.submit-btn,.cancel-btn{width:100%;padding:12px 20px}.password-input{padding:15px 20px;font-size:1rem}}@media (max-width:480px){.cards-grid{grid-template-columns:repeat(4,1fr);gap:.3rem;max-width:280px}.memory-card{border-radius:10px}.card-front,.card-back{border-radius:10px;font-size:1.5rem}.messages-btn{padding:10px 16px;font-size:.8rem}.password-modal h2{font-size:1.6rem}.password-modal p{font-size:1rem}.messages-header h2{font-size:1.3rem}.message-text{font-size:1rem}.message-date{font-size:.8rem}}@media (prefers-color-scheme:dark){.password-modal,.messages-modal{color:#fff;background:linear-gradient(145deg,#1e1e28f2,#14141ee6)}.password-modal h2,.message-text{color:#ff8fab}.password-input{color:#ff6b9d;background:linear-gradient(#282832e6,#282832e6) padding-box padding-box,linear-gradient(45deg,#ff6b9d,#ff8fab) border-box}.password-input::placeholder{color:#aaa}.message-item{background:linear-gradient(135deg,#32323ccc 0%,#282832e6 100%);border-left-color:#ff8fab}.message-date{color:#bbb}.cancel-btn{color:#ccc;background:#3c3c46cc}.cancel-btn:hover{background:#464650e6}}@media (prefers-reduced-motion:reduce){.messages-btn,.password-modal,.messages-modal,.message-item,.submit-btn,.cancel-btn,.close-btn{transition:none;animation:none}.modal-overlay,.floating-emoji{animation:none}}.messages-btn:focus,.submit-btn:focus,.cancel-btn:focus,.close-btn:focus{outline-offset:2px;outline:3px solid #ff6b9d99}.password-input:focus{outline:none;box-shadow:0 10px 25px #ff6b9d4d,0 0 0 3px #ff6b9d4d}@media print{.messages-btn,.modal-overlay,.floating-img-container,.game-area,.clicking-area{display:none}}.top-nav-buttons{z-index:100;gap:10px;display:flex;position:fixed;top:20px;right:20px}.messages-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:25px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #ff6b9d4d}.memories-btn{color:#fff;opacity:0;background:linear-gradient(45deg,#ff6b9d,#ff8fab);margin-top:2rem;padding:15px 30px;font-size:clamp(1rem,3vw,1.2rem);animation:1s ease-out 2.5s forwards fadeInButton}.messages-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b9d66}.memories-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:linear-gradient(145deg,#fffffff2,#ffffffd9);border-radius:25px;width:90%;max-width:500px;padding:3rem 2.5rem;animation:.5s ease-out modalSlideIn;box-shadow:0 20px 40px #ff6b9d4d}.memories-modal h2{color:#d6336c;margin-bottom:1rem;font-size:2rem;font-weight:600}.memories-modal p{color:#888;margin-bottom:2rem;font-size:1.1rem}.memories-options{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.memory-option-btn{cursor:pointer;text-align:center;background:linear-gradient(135deg,#fff0f3e6,#fffc);border:2px solid #0000;border-radius:20px;min-width:180px;padding:2rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}.memory-option-btn:before{content:"";opacity:0;z-index:-1;background:linear-gradient(45deg,#ff6b9d,#ff8fab);transition:opacity .3s;position:absolute;inset:0}.memory-option-btn:hover:before{opacity:.1}.memory-option-btn:hover{border-color:#ff8fab;transform:translateY(-5px);box-shadow:0 10px 25px #ff6b9d4d}.option-icon{margin-bottom:1rem;font-size:3rem}.option-title{color:#d6336c;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.option-desc{color:#888;font-size:.9rem}.close-memories-btn{color:#666;cursor:pointer;background:#f1f2f6cc;border:none;border-radius:15px;padding:12px 30px;font-weight:500;transition:all .3s}.close-memories-btn:hover{background:#dcdde1e6;transform:translateY(-2px)}@media (max-width:768px){.top-nav-buttons{flex-direction:column;top:15px;right:15px}.memories-options{flex-direction:column;align-items:center}.memory-option-btn{width:100%;max-width:300px}}.messages-page{background-image:url(/bg.jpg);background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;padding:2rem 1rem;position:relative}.messages-page:before{content:"";-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1;background:#fff0f31a;position:absolute;inset:0}.messages-header-page{z-index:2;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 3rem;display:flex;position:relative}.messages-header-page h1{color:#d6336c;text-shadow:2px 2px 4px #0000001a;text-align:center;flex:1;font-size:clamp(2rem,5vw,3rem)}.back-btn-page,.games-btn-page{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:25px;padding:12px 20px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #ff6b9d4d}.back-btn-page:hover,.games-btn-page:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b9d66}.messages-container{z-index:2;max-width:800px;margin:0 auto;position:relative}.messages-intro{text-align:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffe6,#fff0f3cc);border-radius:25px;margin-bottom:3rem;padding:2rem;box-shadow:0 8px 25px #ff6b9d33}.messages-intro p{color:#d6336c;font-size:1.3rem;font-style:italic;font-weight:500}.messages-timeline{padding:2rem 0;position:relative}.messages-timeline:before{content:"";background:linear-gradient(#ff6b9d,#ff8fab,#ffa8c0);border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.message-card{width:45%;margin-bottom:3rem;animation:.8s ease-out both messageSlideIn;position:relative}.message-card.left{left:0}.message-card.right{left:55%}.message-card:before{content:"";z-index:3;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border-radius:50%;width:20px;height:20px;position:absolute;top:20px;box-shadow:0 0 0 4px #fff,0 0 0 8px #ff6b9d33}.message-card.left:before{right:-35px}.message-card.right:before{left:-35px}.message-bubble{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fffffff2,#fff0f3e6);border-radius:20px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 25px #ff6b9d33}.message-bubble:hover{transform:translateY(-5px);box-shadow:0 12px 35px #ff6b9d4d}.message-bubble:after{content:"";border:15px solid #0000;width:0;height:0;position:absolute;top:20px}.message-card.left .message-bubble:after{border-left-color:#fffffff2;right:-25px}.message-card.right .message-bubble:after{border-right-color:#fffffff2;left:-25px}.message-header{border-bottom:2px solid #ff6b9d1a;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.message-date{color:#888;align-items:center;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.message-date:before{content:"📅";font-size:.8rem}.message-time{color:#bbb;font-size:.8rem;font-weight:500}.message-content{color:#d6336c;z-index:1;font-size:1.1rem;font-weight:500;line-height:1.6;position:relative}.messages-footer{text-align:center;margin-top:4rem}.love-quote{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffe6,#fff0f3cc);border-radius:25px;margin-bottom:2rem;padding:2rem;box-shadow:0 8px 25px #ff6b9d33}.love-quote p{color:#d6336c;font-size:1.4rem;font-style:italic;font-weight:600}.action-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.home-btn-messages,.games-btn-messages{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border:none;border-radius:25px;padding:15px 30px;font-size:1.1rem;font-weight:600;transition:all .3s;box-shadow:0 6px 20px #ff6b9d4d}.home-btn-messages:hover,.games-btn-messages:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ff6b9d66}@media (max-width:768px){.messages-timeline:before{left:30px}.message-card{width:calc(100% - 60px);left:60px!important}.message-card:before{left:-35px!important}.message-bubble:after{border-left-color:#0000!important;border-right-color:#fffffff2!important;left:-25px!important}.messages-header-page{text-align:center;flex-direction:column;gap:1rem}.action-buttons{flex-direction:column;align-items:center}.home-btn-messages,.games-btn-messages{width:100%;max-width:300px}}@media (max-width:480px){.messages-page{padding:1rem .5rem}.message-card{width:calc(100% - 40px);left:40px!important}.messages-timeline:before{left:20px}.message-card:before{left:-25px!important}}.messages-page{background-color:#fff0f5;min-height:100vh;padding:2rem;font-family:Arial,sans-serif;position:relative}.messages-header-page{justify-content:space-between;align-items:center;display:flex}.back-btn-page,.games-btn-page{cursor:pointer;color:#fff;background:#ff6b9d;border:none;font-size:1rem}.messages-container{text-align:center;margin-top:2rem}.single-message-card{background-color:#ffe6ec;border-radius:1rem;max-width:500px;margin:1rem auto;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.message-bubble{background-color:#fff;border:1px solid #ffc1cc;border-radius:1rem;padding:1rem}.message-header{color:#888;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;display:flex}.message-content{color:#e91e63;font-size:1.1rem}.yes-btn-container{margin-top:1.5rem}.yes-btn{color:#fff;cursor:pointer;background-color:#ff69b4;border:none;border-radius:2rem;padding:.8rem 2rem;font-size:1.1rem;transition:transform .2s;box-shadow:0 3px 6px #0003}.yes-btn:hover{transform:scale(1.05)}.confetti{pointer-events:none;background-image:url(https://cdn.jsdelivr.net/gh/catdad/canvas-confetti/confetti-explosion.png);background-repeat:no-repeat;background-size:contain;width:100px;height:100px;animation:1s ease-out forwards confetti-pop;position:absolute;top:20%}.left-confetti{left:10%}.right-confetti{right:10%}@keyframes confetti-pop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-150px)scale(.3)}}.end-text p{color:#ff4081;font-size:1.2rem}.messages-footer{margin-top:3rem}.love-quote p{color:#c2185b;margin-bottom:1rem;font-style:italic}.action-buttons button{cursor:pointer;color:#fff;background-color:#f8bbd0;border:none;border-radius:1rem;margin:.5rem;padding:.6rem 1.5rem;font-size:1rem;transition:background .3s}.action-buttons button:hover{background-color:#ec407a}
