/* Mossvale Park: three residents, each with a task for the day. */
.park-npcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.park-npc {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 16px 18px;
  overflow: hidden;
  border: 3px solid #b9d4a8;
  border-radius: 18px;
  background: #fbfaf0;
  box-shadow: 0 5px 0 #c9dcbc;
  text-align: center;
}
.park-npc.ready { border-color: #e8b94a; box-shadow: 0 5px 0 #e3c574, 0 0 0 4px #ffe9a8; }
.park-npc.claimed { opacity: .82; }
.park-npc-stage { position: relative; width: calc(100% + 32px); height: 200px; margin: 0 -16px 4px; background: linear-gradient(#d6ecf3 0 70%, #a9d38a 70%); border-bottom: 3px solid #b9d4a8; }
.park-npc-stage .avatar { bottom: 2px; transform: translateX(-50%) scale(.56); transform-origin: bottom center; }
.park-npc h3 { margin: 0; color: #2f5a3d; font-size: 20px; }
.park-npc-role { margin: -4px 0 2px; color: #6f7f6a; font-size: 13px; }
.park-bubble { position: relative; width: 100%; margin: 6px 0 2px; padding: 10px 12px; border: 2px solid #c9d8bd; border-radius: 14px; background: #fff; color: #33503d; font-weight: 800; font-size: 14px; line-height: 1.35; }
.park-bubble::before { content: ''; position: absolute; top: -9px; left: 50%; width: 14px; height: 14px; border-top: 2px solid #c9d8bd; border-left: 2px solid #c9d8bd; background: #fff; transform: translateX(-50%) rotate(45deg); }
.park-progress { display: flex; align-items: center; gap: 8px; width: 100%; }
.park-progress span { flex: 1; height: 12px; overflow: hidden; border: 2px solid #9fbf8f; border-radius: 99px; background: #eef4e6; }
.park-progress i { display: block; height: 100%; background: linear-gradient(#9be08a, #4fa55a); }
.park-progress b { color: #3f6a4a; font-size: 13px; }
.park-reward { display: flex; align-items: center; gap: 5px; margin: 0; color: #7a6427; font-weight: 800; font-size: 13px; }
.park-claim { width: 100%; }
.park-note { margin: 18px 0 0; color: #5f7a62; font-weight: 800; text-align: center; }
.bar-social .buddy-track i { background: linear-gradient(#ffc3a8, #e9805a); }
@media (max-width: 900px) { .park-npcs { grid-template-columns: 1fr; } .park-npc-stage { height: 180px; } }
