## 19. 상점 판매 기능 및 골드 시스템 구현

### 목표
캐릭터에게 화폐(Gold) 개념을 도입하고, 상점 스테이지(`StageType.shop`)에 진입했을 때 인벤토리에서 아이템을 판매하여 골드를 획득하는 기능을 구현한다.

### 구현 내용

1.  **Character 모델 수정 (lib/game/model/entity.dart)**
    *   `int gold` 필드를 추가한다 (기본값: 0 또는 초기 자금).

2.  **Item 모델 및 가격 책정 로직 (lib/game/model/item.dart, lib/game/data/item_table.dart)**
    *   `Item` 클래스에 `int price` 필드를 추가한다.
    *   모든 아이템 데이터(`ItemTable`)에 일일이 가격을 적는 대신, `ItemTemplate.createItem()` 메서드 내부에서 스탯(ATK, HP, DEF)을 기반으로 가격을 자동 산출하는 공식을 적용하여 효율성을 높인다.
    *   공식 예시: `(atk * 10) + (hp * 2) + (armor * 5) + (effects.length * 20)`.

3.  **BattleProvider 수정 (lib/providers/battle_provider.dart)**
    *   `sellItem(Item item)` 메서드 구현:
        *   인벤토리에서 아이템 제거.
        *   아이템 가격만큼 플레이어 `gold` 증가.
        *   로그 기록 ("Sold [Item] for [Price] G").

4.  **InventoryScreen 수정 (lib/screens/inventory_screen.dart)**
    *   화면 상단(스탯 영역)에 현재 보유 `Gold` 표시.
    *   아이템 클릭 시 뜨는 `_showItemActionDialog` 수정:
        *   현재 스테이지가 `StageType.shop`일 경우에만 **[Sell]** 버튼을 활성화(또는 표시).
    *   **판매 확인 다이얼로그:** "Sell [Item] for [Price] G?" 확인 창 구현.

### 예상 결과
*   상점 스테이지에서 인벤토리를 열면 아이템을 팔아 골드를 모을 수 있다.
*   모은 골드는 추후 아이템 구매 기능에 사용된다.
