# Roadmap: Фиксы Быстрой игры и UI

## Проблема 1: Ложное подключение в пустую комнату
**Симптом:** При нажатии "Быстрая игра" система иногда пускает в игру, даже если реального соперника нет.
**Причина:** В функции `findAndJoinRandomRoom` мы ищем любую комнату со статусом `waiting`. Но если игрок сам ранее создал комнату (и она зависла в БД), или если произошёл рассинхрон, система может подключить его к "мёртвой" комнате. Также нужно убедиться, что мы ждём реального подтверждения от второго клиента через Realtime.

**Решение (Roadmap):**
1. **Очистка старых комнат:** При входе в Лобби или перед поиском удалять/помечать как `finished` старые зависшие комнаты текущего игрока.
2. **Строгая проверка в `OnlineGame.tsx`:** Игра не должна начинаться (доска не должна быть активна), пока `black_player_id` не заполнен И пока оба игрока не подтвердили присутствие (через Supabase Presence или просто проверку статуса `playing`).
3. **Доработка `findAndJoinRandomRoom`:** Искать только свежие комнаты (созданные не более 5 минут назад).

## Проблема 2: Доска закрывает аватарки (UI)
**Симптом:** На скриншоте видно, что доска (Board) наезжает на `PlayerCard` (аватарку и имя игрока снизу/сверху).
**Причина:** Неправильный расчёт высоты или `z-index`. Контейнер доски слишком большой для текущего экрана, и из-за `absolute` или отрицательных марджинов он перекрывает карточки игроков.

**Решение (Roadmap):**
1. **Анализ `OnlineGame.tsx` и `Board.tsx`:** Найти контейнеры, отвечающие за расположение доски и карточек.
2. **Исправление Flexbox/Grid:** Использовать `flex-1` для контейнера доски с `min-height: 0`, чтобы доска масштабировалась строго в доступном пространстве между верхней и нижней карточками игроков.
3. **Удаление наложений:** Убрать отрицательные марджины (`-mt-X`) или абсолютное позиционирование, которое вызывает наложение. Добавить `gap` между элементами.

---
**Брат, план готов. Подтверждай, и я сразу всё пофикшу!**
