*{box-sizing:border-box;margin:0;padding:0}body{font-family:Apple SD Gothic Neo,Noto Sans KR,-apple-system,sans-serif;background:#f5f5f0;color:#222}.app{max-width:480px;margin:0 auto;min-height:100vh;background:#fff}header{background:#ff6b35;color:#fff;padding:32px 24px 28px}header h1{font-size:1.5rem;font-weight:700;margin-bottom:6px}header p{font-size:.875rem;opacity:.85}main{padding:24px}.controls{display:flex;flex-direction:column;gap:20px}.field label{display:block;font-size:.72rem;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.meal-time-btns{display:flex;gap:8px}.meal-btn{flex:1;padding:11px 0;border:2px solid #e8e8e8;border-radius:10px;background:#fff;font-size:.9rem;cursor:pointer;color:#555;transition:border-color .12s,background .12s,color .12s}.meal-btn:hover{border-color:#ff6b35;color:#ff6b35}.meal-btn.active{border-color:#ff6b35;background:#ff6b35;color:#fff;font-weight:700}.budget-row{display:flex;align-items:center;gap:10px}.budget-row input{flex:1;padding:11px 14px;border:2px solid #e8e8e8;border-radius:10px;font-size:1.1rem;font-weight:700;outline:none;transition:border-color .12s;color:#222}.budget-row input:focus{border-color:#ff6b35}.budget-row span{font-size:1rem;color:#666;font-weight:500}.recommend-btn{width:100%;padding:15px;background:#ff6b35;color:#fff;border:none;border-radius:12px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .12s}.recommend-btn:hover{background:#e85c28}.recommend-btn:active{background:#d44e1e}.results{margin-top:32px}.empty{text-align:center;padding:48px 0;color:#aaa;line-height:1.6}.empty .hint{font-size:.85rem;margin-top:6px;color:#bbb}.cards{display:flex;flex-direction:column;gap:12px}.card{display:flex;align-items:center;gap:16px;padding:16px;border:1.5px solid #f0f0f0;border-radius:14px;background:#fafafa;transition:border-color .12s}.card:hover{border-color:#ffd5c4}.card-emoji{font-size:2.2rem;flex-shrink:0;width:48px;text-align:center}.card-body{flex:1;min-width:0}.card-body h3{font-size:1rem;font-weight:700;margin-bottom:3px}.card-body p{font-size:.82rem;color:#999;margin-bottom:8px}.card-meta{display:flex;gap:10px;align-items:center}.price{font-size:.95rem;font-weight:700;color:#ff6b35}.calories{font-size:.78rem;color:#bbb}.retry-btn{width:100%;margin-top:16px;padding:13px;background:transparent;border:2px solid #ff6b35;border-radius:12px;color:#ff6b35;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .12s}.retry-btn:hover{background:#fff5f2}
