*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #FF6B6B;--primary-light: #FF8E8E;--bg: #FFF9F0;--card: #FFFFFF;--text: #2D2D2D;--text-light: #888;--shadow: 0 2px 16px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.1);--radius: 16px;--hungry: #FF9F43;--tired: #7C5CFC;--belly_pain: #FF6B6B;--discomfort: #4ECDC4;--burping: #45B7D1}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}body{position:relative}#app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding-bottom:72px}.screen{display:none;flex-direction:column;align-items:center;padding:24px 20px;flex:1;animation:fadeIn .3s ease}.screen.active{display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:var(--card);box-shadow:0 -2px 16px #0000000f;display:flex;justify-content:center;align-items:center;gap:0;z-index:100}.bottom-nav .nav-inner{max-width:480px;width:100%;display:flex;justify-content:space-around}.nav-btn{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 20px;font-size:11px;color:var(--text-light);cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent}.nav-btn .nav-icon{font-size:24px}.nav-btn.active{color:var(--primary);font-weight:600}.home-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding-top:20px}.baby-emoji{font-size:80px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.app-title{font-size:28px;font-weight:800;color:var(--primary);letter-spacing:-.5px}.app-tagline{font-size:14px;color:var(--text-light);margin-bottom:32px}.listen-btn{width:140px;height:140px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 8px 32px #ff6b6b59;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;-webkit-tap-highlight-color:transparent;position:relative}.listen-btn:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--primary);opacity:0;animation:pulse-ring 2s ease-out infinite}.listen-btn:active{transform:scale(.95);box-shadow:0 4px 16px #ff6b6b4d}.listen-btn .btn-icon{font-size:32px}@keyframes pulse-ring{0%{transform:scale(1);opacity:.4}to{transform:scale(1.3);opacity:0}}.recent-section{width:100%;margin-top:32px}.recent-title{font-size:14px;font-weight:600;color:var(--text-light);margin-bottom:12px}.recent-list{display:flex;flex-direction:column;gap:8px}.history-card{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:12px;padding:12px 16px;box-shadow:var(--shadow)}.history-card .h-emoji{font-size:28px}.history-card .h-info{flex:1}.history-card .h-category{font-size:14px;font-weight:600}.history-card .h-time{font-size:12px;color:var(--text-light)}.history-card .h-conf{font-size:13px;font-weight:700;color:var(--primary)}.listening-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%}.wave-canvas{width:100%;max-width:320px;height:120px;border-radius:16px}.listening-text{font-size:20px;font-weight:600;color:var(--text)}.listening-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.countdown{font-size:48px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}.cancel-btn{background:none;border:2px solid var(--text-light);color:var(--text-light);padding:10px 32px;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:active{background:var(--text-light);color:#fff}.analyzing-overlay{display:none;position:fixed;inset:0;background:#fff9f0eb;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:16px}.analyzing-overlay.active{display:flex}.analyzing-spinner{width:48px;height:48px;border:4px solid #eee;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analyzing-text{font-size:16px;color:var(--text-light)}.result-content{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.result-emoji{font-size:72px}.result-category{font-size:24px;font-weight:800}.result-confidence{font-size:40px;font-weight:800;color:var(--primary)}.result-action{font-size:15px;color:var(--text);text-align:center;background:var(--card);padding:16px 24px;border-radius:12px;box-shadow:var(--shadow);width:100%;line-height:1.5}.bar-chart{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:4px}.bar-row{display:flex;align-items:center;gap:10px}.bar-label{width:56px;font-size:13px;font-weight:600;text-align:right;flex-shrink:0}.bar-track{flex:1;height:24px;background:#f0ebe4;border-radius:12px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:12px;transition:width .6s cubic-bezier(.34,1.56,.64,1);min-width:2px}.bar-pct{width:44px;font-size:13px;font-weight:700;color:var(--text-light);flex-shrink:0}.feedback-section{display:flex;gap:12px;margin-top:8px}.feedback-btn{padding:10px 24px;border-radius:24px;border:2px solid #e0dbd4;background:var(--card);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.feedback-btn:active{transform:scale(.96)}.feedback-btn.correct{border-color:#4ecdc4;color:#4ecdc4}.feedback-btn.wrong{border-color:var(--primary);color:var(--primary)}.category-picker{display:none;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.category-picker.active{display:flex}.cat-pick-btn{padding:8px 16px;border-radius:20px;border:2px solid #e0dbd4;background:var(--card);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.cat-pick-btn:active{transform:scale(.95)}.retry-btn{margin-top:8px;padding:14px 40px;border-radius:28px;border:none;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #ff6b6b4d;transition:all .2s}.retry-btn:active{transform:scale(.96)}.history-screen-content{width:100%}.history-screen-title{font-size:22px;font-weight:800;margin-bottom:20px;align-self:flex-start}.history-group-title{font-size:13px;font-weight:600;color:var(--text-light);margin:16px 0 8px}.history-empty{text-align:center;color:var(--text-light);margin-top:60px;font-size:15px}.history-empty .empty-emoji{font-size:48px;display:block;margin-bottom:12px}.info-content{width:100%;text-align:center}.info-content .app-title{font-size:32px;margin-bottom:4px}.info-content .app-version{font-size:13px;color:var(--text-light);margin-bottom:24px}.info-card{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);text-align:left;font-size:14px;line-height:1.7;color:var(--text)}.info-card p+p{margin-top:12px}.info-card strong{color:var(--primary)}.loading-screen{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:300;transition:opacity .4s}.loading-screen.hidden{opacity:0;pointer-events:none}.loading-title{font-size:28px;font-weight:800;color:var(--primary)}.loading-sub{font-size:14px;color:var(--text-light)}.loading-bar-track{width:200px;height:6px;background:#ede8e0;border-radius:3px;overflow:hidden}.loading-bar-fill{height:100%;width:0%;background:var(--primary);border-radius:3px;transition:width .3s}.mic-error{text-align:center;color:var(--primary);font-size:14px;margin-top:16px;display:none}.mic-error.active{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(72px + env(safe-area-inset-bottom))}#app{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
