Создай нативное приложение для macOS — минималистичный виджет курсов валют для рабочего стола.

Используй:
- Swift
- SwiftUI
- WidgetKit

Основной сценарий:

Пользователь один раз выбирает нужные валютные пары, после чего постоянно видит их актуальный курс прямо на рабочем столе macOS.

Для просмотра курса не должно требоваться открывать браузер или основное окно приложения.

Для каждой валютной пары отображай:

- флаги и коды валют;
- направление конвертации, например TRY → RUB;
- крупное текущее значение курса;
- изменение курса за текущий день в процентах;
- визуальное направление роста или падения;
- небольшой график изменения курса;
- время последнего обновления.

Нужно поддерживать несколько валютных пар одновременно.

Настройки приложения:

- добавление валютной пары;
- удаление валютной пары;
- включение и отключение отдельных пар;
- изменение порядка пар;
- выбор частоты автоматического обновления;
- ручное обновление;
- выбор количества колонок;
- светлая и тёмная темы;
- сохранение всех настроек между запусками;
- автоматический запуск приложения при входе в macOS.

Работа с данными:

- пользователь не должен самостоятельно получать и вводить API-ключ;
- курсы должны обновляться автоматически;
- последнее успешно полученное значение нужно сохранять локально;
- при временном отсутствии интернета показывай сохранённый курс;
- ошибка сети не должна ломать интерфейс приложения.

Дизайн:

Приложение должно ощущаться как часть macOS.

Минималистичный интерфейс.
Крупное значение курса.
Скруглённые карточки.
Аккуратная типографика.
Минимум визуального шума.

График нужен только для быстрого понимания направления изменения курса.
Не превращай интерфейс в профессиональный торговый терминал.

Разработку веди итерациями.

Сначала создай самую простую рабочую версию:

1. одна валютная пара;
2. получение курса;
3. отображение курса в виджете;
4. сохранение последнего значения.

Убедись, что эта версия стабильно работает.

После этого постепенно добавляй:

- несколько валютных пар;
- дневное изменение;
- графики;
- настройки;
- темы;
- автоматический запуск.

Не усложняй архитектуру заранее.
Каждая новая функция должна появляться только после того, как предыдущая версия работает.
