function calculateAdjustedScore(profile) {
const base = {
Passion: Math.min(100, profile.awards * 8),
Impact: Math.min(100, Math.log(profile.leadershipHours + 1) * 25 *
(profile.schoolType === "Public" ? 1.5 : 1)),
Potential: (profile.gpa/4.3*40 + 30) *
(profile.income < 50000 ? 1.2 : 1)
};
return {
base,
adjusted: Object.fromEntries(
Object.entries(base).map(([k,v]) => [
k,
Math.min(100, v * (profile.background === "URM" ? 1.2 : 1))
])
)
};
}