# Maire (Ville)

## 1. Définition
Personnage représentant la ville sur la carte du monde. Il sert d’interface narrative-fonctionnelle pour les événements de ville (festival, grève, bonus économique) qui impactent le flux de visiteurs et le budget moyen.

## 2. Fonctions
*   **Annonce événements** : Présente les événements de ville et leurs impacts chiffrés.
*   **Relation ville-zoo** : Expose l’état de relation/jumelage (si présent dans `ville.md`).
*   **Point d’entrée UI** : Personnage contextuel quand le joueur sélectionne une ville ou quand un événement `CITY_EVENT` survient.

## 3. Icone
*   **Représentation :** Écharpe tricolore / blason.
*   **Couleur dominante :** Bleu (institution) + accents thème.

## 4. Interactions
*   **Clic ville** : ouvre le panneau ville (population, richesse, événements).
*   **Clic alerte** : deep-link vers la ville concernée depuis une notification.

## 5. Annexes Techniques

### Données (JSON)
```json
{
  "npc_id": "mayor_01",
  "type": "maire",
  "city_id": "uuid",
  "name": "M. Dubois",
  "state": "enum (IDLE, ANNOUNCING, NEGOTIATING)",
  "current_event": "string | null"
}
```

### Règles Métier
*   Les impacts annoncés par le maire doivent être **indexés** par la ville (population, richesse, distance, événement actif) conformément aux formules de `ville.md`.
*   Pas de promesse “best effort” : si un événement est actif, il est listé, daté et son effet est explicite.

# Annexes UX/UI

## 0. Direction Artistique & Vue
*   **Vue** : Carte monde (UI panneau + portrait).
*   **Style** : Cohérent avec le thème (costume, écharpe, badge).

## Affichage contextuel (modules)
- **Ville** (`ville.md`) : sélection de ville, événements, variations de flux visiteurs.
- **Attractivité sur ville** (`attractivite_zoo_sur_ville.md`) : explication des variations de flux (si le module expose une UI).

## Skins & thèmes
*   Variantes par thème (costume, palette) via `theme.md`.
*   Accessoires via `inventaire_skins.md` si des skins “carte monde / ville” existent.
