# DEV-TASK: Веб-интерфейс для Snowbike RAG

## Контекст

API для семантического поиска работает (Flask :5557). Нужен красивый веб-интерфейс.

**Документация:**
- Бизнес-требования: `tasks/snowbike-rag/docs/BRD-UI.md`
- Техническое задание: `tasks/snowbike-rag/docs/TZ-UI.md`
- Существующий API: `tasks/snowbike-rag/server.py`

---

## Задача

Реализовать одностраничное веб-приложение для поиска по базе знаний сноубайков.

### Шаг 1: Создать index.html

1. Создать `templates/index.html` — единственная страница
2. Подключить CDN: Tailwind CSS, Marked.js, Google Fonts (Inter)
3. Реализовать UI:
   - Заголовок: «🏔️ Snowbike Поиск»
   - Поле ввода (textarea) по центру
   - Кнопка отправки (🔍)
   - Блок результатов: ответ (Markdown → HTML) + источники (карточки)
   - Спиннер при загрузке
   - Тёмная тема (#0F172A фон)
4. Адаптивность: мобилка, планшет, десктоп

### Шаг 2: Обновить server.py

5. Добавить роут `/` → `render_template('index.html')`
6. Оставить `/search` для обратной совместимости
7. Добавить `/api/search` — алиас к `/search`

### Шаг 3: Проверить

8. Открыть `http://localhost:5557/` — должна быть страница поиска
9. Ввести запрос → ответ с источниками
10. Проверить на мобильном (responsive)

---

## Критерии приёмки

- [ ] `http://localhost:5557/` — страница поиска (не JSON, не 404)
- [ ] Ввод «масло для Polaris» → ответ + источники
- [ ] Тёмная тема, красивый шрифт Inter
- [ ] Адаптивно на мобильном
- [ ] Markdown рендерится в HTML
- [ ] Источники — карточки с датой и топиком
- [ ] Спиннер при загрузке
- [ ] Существующие API-роуты работают

---

## Важно

• Всё в `tasks/snowbike-rag/`
• HTML — один файл (inline CSS + JS)
• Не ломать существующий API
• Tailwind через CDN (без npm/сборки)
