@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Zhi+Mang+Xing&display=swap";body{margin:0;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}*{box-sizing:border-box}body{overflow:hidden}.app-container{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#fce4ec;background-image:url("data:image/svg+xml,%3csvg%20width='100'%20height='100'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3cpattern%20id='pattern-hearts'%20x='0'%20y='0'%20width='30'%20height='30'%20patternUnits='userSpaceOnUse'%3e%3ccircle%20cx='5'%20cy='5'%20r='1'%20fill='%23F48FB1'%20fill-opacity='0.5'/%3e%3cpath%20d='M%2015%2020%20C%2015%2025,%2020%2025,%2020%2020%20C%2020%2015,%2015%2015,%2015%2020%20Z'%20fill='%23F8BBD0'%20fill-opacity='0.6'/%3e%3c/pattern%3e%3c/defs%3e%3crect%20width='100'%20height='100'%20fill='url(%23pattern-hearts)'%20/%3e%3c/svg%3e")}.app-container:before,.app-container:after{content:"❤️";font-size:24px;color:#f48fb1;position:absolute;opacity:.8;animation:pulse-corners 3s infinite ease-in-out}.app-container:before{top:15px;left:15px}.app-container:after{bottom:15px;right:15px;animation-delay:1.5s}.welcome-container{background:linear-gradient(135deg,#fce4ec,#ffc1e3)}.welcome-card{background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:3rem 2rem;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:500px;width:100%;animation:fadeIn 1s ease-in-out}.welcome-title{font-family:Pacifico,cursive;font-size:3rem;color:#c2185b;margin:0}.welcome-subtitle{font-size:1.1rem;color:#f48fb1;margin-top:.5rem;margin-bottom:.5rem;font-weight:700}.typewriter-text{font-family:Pacifico,cursive;font-size:1.3rem;color:#f48fb1;min-height:2.5rem;margin-bottom:2rem;text-align:center}.cute-animal-duo{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem}.animal-icon{width:80px;height:80px;animation:bounce 2s infinite ease-in-out}.animal-icon:last-child{animation-delay:.2s}.heart-icon{font-size:2.5rem;color:#f48fb1;animation:pulse 1.5s infinite ease-in-out}.start-button{background-color:#ec407a;color:#fff;border:none;border-radius:50px;padding:15px 30px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px #ec407a66}.start-button:hover{transform:scale(1.05);box-shadow:0 8px 25px #ec407a80}.password-input-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem}.password-input{padding:12px 20px;border:2px solid #f48fb1;border-radius:30px;font-size:1.1rem;text-align:center;width:80%;max-width:300px;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.password-input::placeholder{color:#f48fb1;opacity:.7}.password-input:focus{border-color:#ec407a;box-shadow:0 0 0 3px #ec407a33}.error-message{color:#d32f2f;margin-top:1rem;font-size:1rem;font-weight:700;animation:fadeIn .5s ease-in-out}.level-select-container{background:none}.level-select-map-wrapper{width:100%;max-width:800px;padding:1rem;text-align:center}.level-select-title{font-family:Pacifico,cursive;font-size:2.8rem;color:#c2185b;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(255,255,255,.5)}.level-map{position:relative;width:100%;padding-bottom:75%;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #00000026}.map-background-svg{position:absolute;top:0;left:0;width:100%;height:100%}.map-path-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.level-node-map{position:absolute;z-index:2;width:60px;height:60px;border:5px solid #f8bbd0;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0003;transition:transform .3s ease,background-color .3s ease;text-decoration:none}.level-node-map.unlocked{background-color:#fffde7;border-color:#ffc107;cursor:pointer}.level-node-map.unlocked:hover{transform:translate(-50%,-50%) scale(1.1)}.level-node-map.locked{background-color:#bdbdbd;border-color:#9e9e9e;cursor:not-allowed}.level-id{font-size:1.5rem;font-weight:700;color:#ad1457}.lock-icon-map{font-size:1.5rem;color:#fff}.pagination{display:flex;gap:10px;margin-top:1rem;justify-content:center}.page-button{background-color:#f8bbd0;color:#c2185b;border:none;border-radius:10px;padding:10px 15px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.page-button:hover:not(:disabled){background-color:#f48fb1;transform:translateY(-2px)}.page-button.active{background-color:#c2185b;color:#fff;box-shadow:0 4px 10px #c2185b66}.page-button:disabled{opacity:.6;cursor:not-allowed}.back-to-home-button{background-color:#f48fb1;color:#fff;border:none;border-radius:50px;padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:2rem;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px #f48fb166}.back-to-home-button:hover{transform:scale(1.05);box-shadow:0 8px 25px #f48fb180}.game-card{position:relative;background-color:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:500px;width:100%}.title{color:#c2185b;margin-top:0;margin-bottom:.5rem;font-family:Zhi Mang Xing,cursive;font-size:2.5rem}.status{color:#ad1457;margin-bottom:1.5rem;font-size:1.5rem;font-family:Zhi Mang Xing,cursive}.jigsaw-puzzle{border-radius:10px;box-shadow:0 4px 15px #0000001a}.memory-reveal{margin-top:1.5rem;padding:1rem;background-color:#fff8e1;border-radius:10px;color:#5d4037;font-size:1.1rem;animation:fadeIn .5s ease-in-out}.next-button{background-color:#ec407a;color:#fff;border:none;border-radius:20px;padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:background-color .3s ease}.next-button:hover{background-color:#d81b60}.game-navigation-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;margin-bottom:1rem}.button-style{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:700;background-color:#f48fb1;padding:.75rem;border-radius:50%;width:45px;height:45px;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;border:none;cursor:pointer;font-size:1.2rem;box-shadow:0 4px 15px #f48fb166}.button-style:hover{background-color:#ec407a;transform:translateY(-2px);box-shadow:0 8px 25px #ec407a80}.hint-button-integrated{background-color:#f9a825;box-shadow:0 4px 15px #f9a82566}.hint-button-integrated:hover{background-color:#f57f17;box-shadow:0 8px 25px #f57f1780}.puzzle-wrapper{position:relative;width:100%;max-width:400px;margin:2rem auto 1.5rem}.puzzle-decoration{position:absolute;width:80px;height:80px;z-index:15;animation:peek-a-boo 4s infinite ease-in-out}.deco-pig{bottom:-30px;left:-40px;transform:rotate(-15deg);animation-name:peek-a-boo-pig}.deco-dog{top:-35px;right:-35px;transform:rotate(15deg);animation-delay:.5s}.hint-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;opacity:.5;pointer-events:none;z-index:10;border-radius:10px;animation:fadeIn .3s}.final-container{background:none}.final-card{background-color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a;text-align:center;max-width:550px;width:100%;animation:fadeIn 1s ease-in-out}.final-title{font-family:Pacifico,cursive;font-size:2.8rem;color:#c2185b;margin-top:0}.final-image{width:100%;max-width:300px;border-radius:15px;margin:1.5rem auto;box-shadow:0 5px 20px #00000026}.final-message{font-size:1.2rem;color:#5d4037;line-height:1.6;margin:1.5rem 0}.final-signature{font-family:Pacifico,cursive;font-size:1.5rem;color:#ad1457;margin-bottom:2rem}.restart-button{background-color:#ad1457;color:#fff;border:none;border-radius:20px;padding:10px 20px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.restart-button:hover{background-color:#880e4f}.final-page-home-button{background-color:#f48fb1;color:#fff;border:none;border-radius:50px;padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1rem;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px #f48fb166}.final-page-home-button:hover{transform:scale(1.05);box-shadow:0 8px 25px #f48fb180}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes peek-a-boo{0%,to{transform:translateY(0) rotate(15deg)}50%{transform:translateY(-10px) rotate(12deg)}}@keyframes peek-a-boo-pig{0%,to{transform:translateY(0) rotate(-15deg)}50%{transform:translateY(-10px) rotate(-12deg)}}@keyframes pulse-corners{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.sun{animation:pulse-sun 10s infinite ease-in-out;transform-origin:center center;transform-box:fill-box}.cloud{animation:drift 60s infinite linear alternate}.cloud-2{animation-duration:80s}@keyframes pulse-sun{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes drift{0%{transform:translate(-30px)}to{transform:translate(30px)}}.jigsaw-puzzle{position:relative}.jigsaw-puzzle__piece{position:absolute;border:1px solid #cecece;cursor:pointer;z-index:1;-webkit-user-select:none;user-select:none}.jigsaw-puzzle__piece.jigsaw-puzzle__piece--solved{border-color:#000;z-index:0}.jigsaw-puzzle__piece.jigsaw-puzzle__piece--dragging{z-index:5;box-shadow:1px 1px 5px #00000091}.music-toggle-button{position:fixed;top:20px;right:20px;background-color:#ffc1e3;color:#c2185b;border:2px solid #f48fb1;border-radius:50%;width:50px;height:50px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #f48fb166;transition:all .3s ease;z-index:1000;animation:pulse-button 2s infinite ease-in-out}.music-toggle-button:hover{background-color:#f8bbd0;transform:scale(1.1);box-shadow:0 6px 15px #f48fb199}@keyframes pulse-button{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}
