@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Patrick+Hand&display=swap";:root{--bg-primary: #fdf6ee;--bg-secondary: #fff9f0;--text-primary: #4a3728;--text-secondary: #7a6555;--accent-warm: #f4845f;--accent-green: #7bc47f;--accent-blue: #6db3d4;--accent-purple: #b088d4;--accent-yellow: #f7c948;--accent-pink: #e88fa6;--shadow-soft: 0 4px 20px rgba(74, 55, 40, .1);--shadow-card: 0 8px 32px rgba(74, 55, 40, .12);--shadow-hover: 0 12px 40px rgba(74, 55, 40, .18);--radius: 16px;--radius-sm: 10px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;font-family:Quicksand,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#d4c4b0;border-radius:4px}.title-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(170deg,#ffecd2,#fcb69f,#ffecd2);position:relative;overflow:hidden}.title-clouds{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.cloud{position:absolute;background:#fff9;border-radius:50px;animation:float-cloud linear infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff9;border-radius:50%}.cloud:nth-child(1){width:120px;height:40px;top:8%;left:-150px;animation-duration:25s}.cloud:nth-child(1):before{width:50px;height:50px;top:-20px;left:20px}.cloud:nth-child(1):after{width:70px;height:45px;top:-15px;left:50px}.cloud:nth-child(2){width:160px;height:50px;top:15%;left:-200px;animation-duration:35s;animation-delay:5s}.cloud:nth-child(2):before{width:60px;height:55px;top:-25px;left:30px}.cloud:nth-child(2):after{width:80px;height:50px;top:-18px;left:70px}.cloud:nth-child(3){width:100px;height:35px;top:25%;left:-130px;animation-duration:30s;animation-delay:12s}.cloud:nth-child(3):before{width:45px;height:40px;top:-18px;left:15px}.cloud:nth-child(3):after{width:55px;height:38px;top:-12px;left:40px}@keyframes float-cloud{0%{transform:translate(0)}to{transform:translate(calc(100vw + 300px))}}.title-content{text-align:center;z-index:1;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.title-emoji{font-size:4rem;display:block;margin-bottom:.5rem;animation:bounce-gentle 2s ease-in-out infinite}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title-text h1{font-family:Patrick Hand,cursive;font-size:3.5rem;color:var(--text-primary);text-shadow:2px 2px 0 rgba(255,255,255,.4);margin-bottom:.25rem;letter-spacing:2px}.title-text p{font-size:1.15rem;color:var(--text-secondary);max-width:400px;margin:0 auto 2rem;line-height:1.6}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border:none;border-radius:50px;font-family:Quicksand,sans-serif;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-soft)}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,var(--accent-warm),#e76f51);color:#fff;font-size:1.2rem;padding:1rem 2.5rem}.btn-primary:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-secondary{background:#fff;color:var(--text-primary)}.btn-secondary:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-small{padding:.6rem 1.4rem;font-size:.9rem}.floating-animals{position:absolute;bottom:0;left:0;width:100%;height:200px;pointer-events:none;overflow:hidden}.floating-animal{position:absolute;bottom:20px;font-size:2rem;animation:walk-across linear infinite}.floating-animal:nth-child(1){animation-duration:18s;animation-delay:0s;bottom:30px}.floating-animal:nth-child(2){animation-duration:22s;animation-delay:4s;bottom:50px;font-size:1.5rem}.floating-animal:nth-child(3){animation-duration:15s;animation-delay:8s;bottom:20px;font-size:2.5rem}.floating-animal:nth-child(4){animation-duration:28s;animation-delay:2s;bottom:40px}.floating-animal:nth-child(5){animation-duration:20s;animation-delay:10s;bottom:35px;font-size:1.8rem}@keyframes walk-across{0%{transform:translate(-60px)}to{transform:translate(calc(100vw + 60px))}}.map-screen{min-height:100vh;padding:2rem;background:linear-gradient(180deg,#e8f4e8,#fdf6ee 40%)}.map-header{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:0 auto 1.5rem}.map-header h2{font-family:Patrick Hand,cursive;font-size:2rem;color:var(--text-primary)}.map-header-actions{display:flex;gap:.75rem}.progress-bar{max-width:900px;margin:0 auto 2rem;background:#fff9;border-radius:50px;padding:.5rem 1rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-soft)}.progress-label{font-weight:600;font-size:.9rem;white-space:nowrap}.progress-track{flex:1;height:12px;background:#4a372814;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-green),var(--accent-blue));border-radius:6px;transition:width .5s ease}.progress-count{font-weight:600;font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;max-width:900px;margin:0 auto}.location-card{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;border:3px solid transparent}.location-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.location-card.completed{border-color:var(--accent-green)}.location-card.locked{opacity:.5;cursor:not-allowed}.location-card.locked:hover{transform:none;box-shadow:var(--shadow-card)}.location-icon{font-size:3rem;margin-bottom:.75rem;display:block}.location-name{font-family:Patrick Hand,cursive;font-size:1.4rem;margin-bottom:.25rem}.location-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.75rem}.location-status{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600}.status-available{background:#fff3e0;color:#e65100}.status-completed{background:#e8f5e9;color:#2e7d32}.status-locked{background:#f5f5f5;color:#9e9e9e}.location-pet-preview{position:absolute;top:1rem;right:1rem;font-size:2rem;opacity:.3}.location-card.completed .location-pet-preview{opacity:1;animation:bounce-gentle 2s ease-in-out infinite}.game-screen{min-height:100vh;display:flex;flex-direction:column}.game-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;box-shadow:0 2px 12px #0000000f;position:sticky;top:0;z-index:10}.game-header-left{display:flex;align-items:center;gap:1rem}.game-header h3{font-family:Patrick Hand,cursive;font-size:1.4rem}.clue-counter{display:flex;align-items:center;gap:.5rem;background:#fff3e0;padding:.4rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600}.game-body{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem}.scene-container{max-width:700px;width:100%;margin-bottom:2rem}.scene-art{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-card);text-align:center;position:relative;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center}.scene-background{font-size:5rem;margin-bottom:1rem;line-height:1.2}.scene-description{font-size:1.05rem;color:var(--text-secondary);max-width:450px;line-height:1.6}.hotspots{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.hotspot{background:#fff;border:2px dashed rgba(74,55,40,.2);border-radius:var(--radius-sm);padding:1rem 1.25rem;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:120px}.hotspot:hover{border-color:var(--accent-warm);background:#fff8f0;transform:translateY(-2px);box-shadow:var(--shadow-soft)}.hotspot.searched{border-style:solid;border-color:var(--accent-green);background:#f0faf0;cursor:default}.hotspot.searched:hover{transform:none}.hotspot-icon{font-size:1.8rem}.hotspot-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.clue-popup{background:#fff;border-radius:var(--radius);padding:1.5rem 2rem;box-shadow:var(--shadow-hover);max-width:500px;width:100%;margin-top:1.5rem;animation:popIn .3s ease-out;border-left:4px solid var(--accent-yellow)}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.clue-popup h4{font-family:Patrick Hand,cursive;font-size:1.2rem;margin-bottom:.5rem;color:var(--accent-warm)}.clue-popup p{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.75rem}.clue-item{display:flex;align-items:center;gap:.75rem;background:#fdf6ee;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:.5rem;font-size:.9rem}.clue-item .emoji{font-size:1.3rem}.puzzle-section{max-width:700px;width:100%;animation:popIn .4s ease-out}.puzzle-card{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-card);text-align:center}.puzzle-card h3{font-family:Patrick Hand,cursive;font-size:1.5rem;margin-bottom:.5rem}.puzzle-card>p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.sequence-display{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.sequence-item{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:#f5f0eb;border:2px solid rgba(74,55,40,.1);transition:all .2s}.sequence-item.active{border-color:var(--accent-warm);box-shadow:0 0 0 3px #f4845f33;animation:pulse .5s ease}.sequence-item.correct{border-color:var(--accent-green);background:#f0faf0}.sequence-item.wrong{border-color:#e57373;background:#fff5f5;animation:shake .4s ease}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.sequence-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.sequence-btn{width:64px;height:64px;border-radius:12px;border:2px solid rgba(74,55,40,.1);background:#fff;font-size:1.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.sequence-btn:hover{border-color:var(--accent-warm);background:#fff8f0;transform:scale(1.05)}.sequence-btn:active{transform:scale(.95)}.sequence-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:400px;margin:0 auto 1.5rem}.memory-card{aspect-ratio:1;border-radius:12px;border:2px solid rgba(74,55,40,.1);background:#fff;font-size:1.8rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.memory-card.hidden{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:transparent}.memory-card.hidden:hover{transform:scale(1.05);box-shadow:var(--shadow-soft)}.memory-card.revealed{background:#f0faf0;border-color:var(--accent-green)}.memory-card.matched{background:#e8f5e9;border-color:var(--accent-green);cursor:default}.word-scramble{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.scramble-letter{width:48px;height:56px;border-radius:10px;border:2px solid rgba(74,55,40,.15);background:#fff;font-family:Patrick Hand,cursive;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.word-input{padding:.75rem 1.25rem;border:2px solid rgba(74,55,40,.15);border-radius:50px;font-family:Quicksand,sans-serif;font-size:1rem;font-weight:600;text-align:center;width:250px;outline:none;transition:border-color .2s}.word-input:focus{border-color:var(--accent-warm)}.word-input::placeholder{color:#ccc}.puzzle-hint{margin-top:1rem;font-size:.85rem;color:var(--text-secondary);font-style:italic}.puzzle-wrong{color:#e57373;font-size:.9rem;margin-top:.5rem;font-weight:600}.rescue-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(170deg,#fff9f0,#ffecd2)}.rescue-card{background:#fff;border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow-card);text-align:center;max-width:450px;width:100%;animation:popIn .5s ease-out}.rescue-sparkles{font-size:2rem;margin-bottom:.5rem;animation:bounce-gentle 1.5s ease-in-out infinite}.rescue-pet{font-size:5rem;display:block;margin:.5rem 0;animation:popIn .6s ease-out}.rescue-card h2{font-family:Patrick Hand,cursive;font-size:2rem;color:var(--accent-green);margin-bottom:.25rem}.rescue-card h3{font-family:Patrick Hand,cursive;font-size:1.5rem;margin-bottom:.5rem}.rescue-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.rescue-owner{display:flex;align-items:center;justify-content:center;gap:.75rem;background:#fdf6ee;padding:1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem}.owner-emoji{font-size:2rem}.owner-text{text-align:left}.owner-text strong{display:block;font-size:.95rem}.owner-text span{font-size:.85rem;color:var(--text-secondary)}.album-screen{min-height:100vh;padding:2rem;background:linear-gradient(180deg,#f3e8ff,#fdf6ee 40%)}.album-header{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:0 auto 2rem}.album-header h2{font-family:Patrick Hand,cursive;font-size:2rem}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;max-width:900px;margin:0 auto}.album-card{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);text-align:center;transition:all .3s ease}.album-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.album-card.empty{opacity:.4;border:2px dashed rgba(74,55,40,.15);box-shadow:none}.album-card.empty:hover{transform:none;box-shadow:none}.album-pet{font-size:3.5rem;margin-bottom:.75rem;display:block}.album-card h4{font-family:Patrick Hand,cursive;font-size:1.2rem;margin-bottom:.25rem}.album-card p{font-size:.8rem;color:var(--text-secondary)}.album-placeholder{font-size:2.5rem;opacity:.3;margin-bottom:.75rem;display:block}@media(max-width:640px){.title-text h1{font-size:2.5rem}.map-grid{grid-template-columns:1fr}.hotspot{min-width:100px}.memory-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.sequence-item,.sequence-btn{width:50px;height:50px;font-size:1.4rem}}.fade-in{animation:fadeInUp .4s ease-out}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}
