.home-page{background:var(--bg-gradient);flex-direction:column;min-height:100vh;padding:.9rem 1rem 1.2rem;transition:background .3s;display:flex}.home-content{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.home-header{width:100%;margin-bottom:.4rem;position:relative}.theme-btn{background:var(--bg-card);cursor:pointer;width:40px;height:40px;box-shadow:0 3px 10px var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:0;right:0}.home-header h1{color:var(--primary);margin:0 0 .15rem;font-size:1.5rem;font-weight:700}.subtitle{color:var(--accent);margin:0;font-size:.95rem;font-weight:500}.birthday-banner{color:#fff;background:linear-gradient(135deg,#2ecc71,#0a2540);border-radius:50px;width:100%;margin:.5rem 0;padding:.55rem 1rem;font-size:.9rem;font-weight:600}.hero-row{justify-content:space-between;align-items:center;gap:.8rem;width:100%;margin:.8rem 0 1.1rem;display:flex}.hero-left{flex-direction:column;flex:1;align-items:center;display:flex}.chat-image{width:120px;height:auto;display:block}.growth-badge{background:var(--bg-card);box-shadow:0 3px 10px var(--shadow);border-radius:50px;flex-direction:column;align-items:center;margin-top:.35rem;padding:.35rem .9rem;display:flex}.growth-badge strong{color:var(--primary);font-size:.95rem}.growth-badge span{color:var(--text-secondary);font-size:.8rem}.hero-right{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.stars-display{background:var(--bg-card);box-shadow:0 3px 10px var(--shadow);border-radius:50px;align-items:center;gap:.35rem;padding:.45rem .9rem;display:flex}.stars-icon{font-size:1.3rem}.stars-count{color:var(--primary);font-size:1.25rem;font-weight:700}.next-stage-info{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.35}.welcome-text{color:var(--text-secondary);margin:.4rem 0 .8rem;font-size:1.05rem;font-weight:500}.games-grid{flex-direction:column;gap:.7rem;width:100%;display:flex}.game-card{background:var(--bg-card);color:inherit;box-shadow:0 3px 12px var(--shadow);border-left:6px solid var(--card-color);border-radius:18px;align-items:center;gap:.85rem;padding:.9rem 1rem;text-decoration:none;transition:transform .15s;display:flex}.game-card:active{transform:scale(.97)}.card-emoji{background:var(--card-color);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.card-text{text-align:left}.card-text h2{color:var(--text-main);margin:0 0 .15rem;font-size:1.08rem;font-weight:650}.card-text p{color:var(--text-secondary);margin:0;font-size:.88rem}.bottom-links{flex-direction:column;align-items:center;gap:.85rem;width:100%;margin-top:1.3rem;display:flex}.stories-link{background:var(--bg-card);color:var(--primary);box-shadow:0 3px 10px var(--shadow);border-radius:50px;padding:.55rem 1.3rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.parent-link{background:var(--bg-card);color:var(--accent);box-shadow:0 3px 10px var(--shadow);border-radius:50px;padding:.55rem 1.3rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.shop-link{color:var(--text-secondary);font-size:.95rem;font-weight:500;text-decoration:none}.find-emotion-page{background:var(--bg-gradient);text-align:center;flex-direction:column;align-items:center;min-height:100vh;padding:1.2rem;transition:background .3s;display:flex}.target-emoji{font-size:2.4rem}.options-grid{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;max-width:380px;display:flex}.option-btn{background:var(--bg-card);cursor:pointer;box-shadow:0 6px 16px var(--shadow);border:4px solid #0000;border-radius:24px;flex-direction:column;align-items:center;gap:.4rem;min-width:110px;padding:1rem .8rem;transition:transform .15s;display:flex}.option-btn:active{transform:scale(.95)}.option-btn.correct{border-color:var(--success);background:#2ecc7126}.emotion-label{color:var(--text-main);font-size:1rem;font-weight:600}@keyframes pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.face-game-page{background:var(--bg-gradient);text-align:center;flex-direction:column;align-items:center;min-height:100vh;padding:1.2rem;transition:background .3s;display:flex}.faces-grid{grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:340px;display:grid}.face-btn{background:var(--bg-card);cursor:pointer;box-shadow:0 6px 16px var(--shadow);border:4px solid #0000;border-radius:24px;padding:1.1rem;transition:transform .15s}.face-btn:active{transform:scale(.95)}.face-btn.correct{border-color:var(--success);background:#2ecc7126}.cloud-game-page{background:var(--bg-gradient);text-align:center;flex-direction:column;align-items:center;min-height:100vh;padding:1.2rem;transition:background .3s;display:flex}.game-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:1.5rem;display:flex}.score{color:var(--primary);font-size:1.3rem;font-weight:700}.instruction p{color:var(--text-secondary);margin-bottom:.3rem;font-size:1.2rem}.instruction h2{color:var(--primary);margin:.2rem 0;font-size:1.9rem}.big-emoji{font-size:2.4rem}.clouds-container{flex-direction:column;gap:1rem;width:100%;max-width:340px;display:flex}.cloud{cursor:pointer;box-shadow:0 6px 16px var(--shadow);color:#fff;text-shadow:0 1px 2px #00000026;border:none;border-radius:50px;justify-content:center;align-items:center;gap:.8rem;padding:1.15rem 1.4rem;font-size:1.25rem;font-weight:700;transition:transform .15s;display:flex}.cloud:active{transform:scale(.96)}.cloud.correct{outline:4px solid var(--success);outline-offset:3px}.cloud-emoji{font-size:1.7rem}.feedback{margin-top:1.8rem;font-size:1.7rem;font-weight:700;animation:.3s pop}.feedback.success{color:var(--success)}.feedback.error{color:var(--error)}.breathing-page{background:var(--bg-gradient);text-align:center;flex-direction:column;align-items:center;min-height:100vh;padding:1.2rem;transition:background .3s;display:flex}.game-header{justify-content:flex-start;width:100%;margin-bottom:1rem;display:flex}.back-link{background:var(--bg-card);color:var(--primary);box-shadow:0 3px 10px var(--shadow);border-radius:50px;padding:.5rem 1.1rem;font-size:1.05rem;font-weight:600;text-decoration:none}.instruction{margin-bottom:1.5rem}.instruction h2{color:var(--primary);margin-bottom:.4rem;font-size:1.6rem}.phase-text{color:var(--accent);font-size:1.3rem;font-weight:600}.breathing-container{justify-content:center;align-items:center;height:260px;margin-bottom:1.2rem;display:flex}.bubble{width:150px;height:150px;box-shadow:0 12px 30px var(--shadow);background:linear-gradient(135deg,#0a2540,#2ecc71);border-radius:50%;justify-content:center;align-items:center;transition:transform 4s ease-in-out;display:flex}.bubble.inspire{transform:scale(1.45)}.bubble.expire{transform:scale(1)}.bubble-face{font-size:3.8rem}.tip{color:var(--text-secondary);margin-bottom:1.8rem;font-size:1.15rem}.control-btn{background:var(--bg-card);border:2px solid var(--primary);color:var(--primary);cursor:pointer;box-shadow:0 4px 12px var(--shadow);border-radius:50px;padding:.85rem 2.2rem;font-size:1.15rem;font-weight:600}.control-btn:active{transform:scale(.96)}.celebration-overlay{z-index:100;background:#0a2540d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.celebration-box{background:var(--bg-card);text-align:center;box-shadow:0 15px 40px var(--shadow);border-radius:28px;width:100%;max-width:340px;padding:2rem 1.5rem;animation:.4s pop}.celebration-emoji{margin-bottom:.5rem;font-size:3.5rem}.celebration-box h2{color:var(--primary);margin:0 0 .5rem;font-size:2rem}.celebration-box p{color:var(--text-main);margin:.3rem 0;font-size:1.2rem}.celebration-sub{color:var(--text-secondary)!important;margin-bottom:1.5rem!important;font-size:1rem!important}.celebration-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a2540,#2ecc71);border:none;border-radius:50px;width:100%;margin-bottom:.8rem;padding:1rem;font-size:1.2rem;font-weight:700;display:block}.celebration-home{color:var(--primary);font-size:1rem;font-weight:600;text-decoration:none;display:inline-block}.birthday-section{background:var(--bg-card);box-shadow:0 4px 14px var(--shadow);border-radius:18px;margin-bottom:1.3rem;padding:1.1rem 1.2rem}.birthday-section h3{color:var(--primary);margin:0 0 .4rem;font-size:1.1rem}.birthday-help{color:var(--text-secondary);margin:0 0 .8rem;font-size:.9rem;line-height:1.4}.birthday-input{border:2px solid var(--border);background:var(--bg-gradient);width:100%;color:var(--text-main);border-radius:12px;margin-bottom:.7rem;padding:.7rem .9rem;font-size:1rem}.save-birthday-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a2540,#2ecc71);border:none;border-radius:50px;width:100%;padding:.75rem;font-size:1rem;font-weight:700}.stories-page{background:var(--bg-gradient);min-height:100vh;padding:1.2rem}.stories-header{margin-bottom:1.5rem}.stories-header h1{color:var(--primary);margin:0 0 .3rem;font-size:1.6rem}.stories-subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.stories-list{flex-direction:column;gap:.9rem;display:flex}.story-card{background:var(--bg-card);text-align:left;box-shadow:0 4px 14px var(--shadow);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:1rem;padding:1rem 1.1rem;transition:transform .15s;display:flex}.story-card:active{transform:scale(.97)}.story-card.locked{opacity:.55;cursor:not-allowed}.story-card-emoji{text-align:center;width:50px;font-size:2.2rem}.story-card-content h3{color:var(--text-main);margin:0 0 .2rem;font-size:1.1rem}.story-card-content p{color:var(--text-secondary);margin:0;font-size:.9rem}.story-reader{background:var(--bg-gradient);padding:.8rem 1.1rem;padding-top:calc(.8rem + env(safe-area-inset-top));padding-bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:50;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.story-header{flex-shrink:0;align-items:center;gap:.7rem;margin-bottom:.5rem;display:flex}.close-story{background:var(--bg-card);width:38px;height:38px;color:var(--text-main);cursor:pointer;box-shadow:0 3px 10px var(--shadow);border:none;border-radius:50%;flex-shrink:0;font-size:1.1rem}.story-header h2{color:var(--primary);margin:0;font-size:1.05rem;line-height:1.25}.story-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:.5rem;display:flex;overflow:hidden}.story-emoji{margin-bottom:.6rem;font-size:2.5rem}.story-text{color:var(--text-main);max-width:300px;margin-bottom:.6rem;font-size:1.15rem;line-height:1.45}.story-progress{color:var(--text-secondary);font-size:.85rem}.next-btn{left:1.1rem;right:1.1rem;bottom:calc(1rem + env(safe-area-inset-bottom));color:#fff;cursor:pointer;z-index:60;background:linear-gradient(135deg,#0a2540,#2ecc71);border:none;border-radius:50px;max-width:400px;margin:0 auto;padding:.95rem;font-size:1.1rem;font-weight:700;position:fixed}.stories-shop-link{text-align:center;background:var(--bg-card);color:var(--accent);box-shadow:0 3px 10px var(--shadow);border-radius:50px;margin-top:1.5rem;padding:.8rem 1.2rem;font-weight:700;text-decoration:none;display:block}.shop-page{background:var(--bg-gradient);min-height:100vh;padding:1.2rem}.shop-header{margin-bottom:1.5rem}.back-link{background:var(--bg-card);color:var(--primary);box-shadow:0 3px 10px var(--shadow);border-radius:50px;margin-bottom:1rem;padding:.5rem 1.1rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-block}.shop-header h1{color:var(--primary);margin:0 0 .3rem;font-size:1.6rem}.shop-subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.products-list{flex-direction:column;gap:1.2rem;margin-bottom:2rem;display:flex}.product-card{background:var(--bg-card);box-shadow:0 6px 18px var(--shadow);border-top:5px solid var(--product-color);text-align:center;border-radius:22px;padding:1.4rem 1.3rem;position:relative}.product-card.recommended{border-top-width:6px}.recommended-badge{background:var(--accent);color:#fff;border-radius:50px;padding:.3rem .9rem;font-size:.8rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.product-emoji{margin-bottom:.5rem;font-size:2.6rem}.product-card h2{color:var(--text-main);margin:0 0 .4rem;font-size:1.35rem}.product-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.98rem;line-height:1.4}.product-details{text-align:left;margin:0 0 1.2rem;padding:0;list-style:none}.product-details li{color:var(--text-main);padding:.35rem 0 .35rem 1.5rem;font-size:.95rem;position:relative}.product-details li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.product-price{color:var(--primary);margin-bottom:1rem;font-size:1.6rem;font-weight:800}.buy-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a2540,#2ecc71);border:none;border-radius:50px;width:100%;padding:.95rem;font-size:1.15rem;font-weight:700;transition:transform .15s;box-shadow:0 6px 16px #2ecc7140}.buy-btn:active{transform:scale(.97)}.shop-note{text-align:center;padding:.5rem 0 1.5rem}.shop-note p{color:var(--text-secondary);margin:.2rem 0;font-size:.9rem}.shop-message{background:var(--accent);color:#fff;text-align:center;border-radius:50px;margin-bottom:1rem;padding:.7rem 1rem;font-weight:700}.product-card.owned{opacity:.92}.owned-badge{background:var(--primary);color:#fff;border-radius:50px;padding:.3rem .9rem;font-size:.8rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.buy-btn:disabled{box-shadow:none;cursor:default;background:#94a3b8}.shop-note-small{opacity:.85;margin-top:.6rem!important;font-size:.8rem!important}.email-box{background:var(--bg-card);box-shadow:0 4px 14px var(--shadow);text-align:left;border-radius:18px;margin-bottom:1rem;padding:1rem 1.1rem}.email-box label{color:var(--text-main);margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:block}.email-box input{border:2px solid var(--border);width:100%;color:var(--text-main);background:0 0;border-radius:12px;margin-bottom:.6rem;padding:.7rem .9rem;font-size:1rem}.restore-btn{background:var(--bg-card);border:2px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;border-radius:50px;padding:.65rem;font-weight:700}.splash-screen{z-index:9999;background:#0a2540;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0;overflow:hidden}.splash-screen.fade-out{opacity:0;pointer-events:none}.splash-content{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.splash-cat{object-fit:cover;object-position:center center;opacity:0;width:100%;height:100%;animation:1.6s cubic-bezier(.34,1.56,.64,1) forwards catAppear;position:absolute;inset:0}.splash-title{z-index:2;color:#fff;text-shadow:0 4px 20px #0009;opacity:0;margin-top:55vh;font-size:1.9rem;font-weight:700;animation:.8s 1s forwards textAppear;position:relative}.splash-subtitle{z-index:2;color:#2ecc71;text-shadow:0 3px 12px #00000080;opacity:0;margin-top:.5rem;font-size:1.2rem;font-weight:600;animation:.8s 1.3s forwards textAppear;position:relative}@keyframes catAppear{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes textAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--bg-gradient:linear-gradient(160deg, #e8f4f8 0%, #f0fdf4 50%, #f8fafc 100%);--bg-card:#fff;--text-main:#0a2540;--text-secondary:#4a5568;--primary:#0a2540;--accent:#2ecc71;--shadow:#0a25401f;--border:#e2e8f0;--success:#2ecc71;--error:#e74c3c}[data-theme=dark]{--bg-gradient:linear-gradient(160deg, #0a2540 0%, #0f172a 50%, #1a1a1a 100%);--bg-card:#1e293b;--text-main:#fff;--text-secondary:#94a3b8;--primary:#2ecc71;--accent:#2ecc71;--shadow:#00000073;--border:#334155;--success:#2ecc71;--error:#f87171}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-main);-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,sans-serif;transition:background .3s,color .3s;overflow-x:hidden}.app{max-width:480px;min-height:100vh;margin:0 auto}.chat-mallow-clear{box-shadow:0 8px 22px var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex}.chat-mallow-clear:active{transform:scale(.95)}.chat-mallow-clear.large{width:170px;height:170px}.chat-mallow-clear.small{width:95px;height:95px}.mallow-emoji{font-size:4.2rem;line-height:1}.chat-mallow-clear.small .mallow-emoji{font-size:2.4rem}html,body,#root,.app{min-height:100dvh}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.splash-screen{padding-top:0}
