- Header: убрана кнопка "Кабинет" → только статьи / о проекте / переключатель темы
- Hero: вторая кнопка теперь ведёт на /about ("Как это работает"), убрано рекламное упоминание сервиса
- Страница статьи: убран CTA-блок "Открыть ZeroPost" в конце, оставлена только короткая заметка
- Footer: убрана ссылка на app.zeropost.ru
- About: переписан текст — это блог-эксперимент, не лендинг продукта
- ArticleCard: реальные обложки с fallback на детерминированный градиент по id статьи
- HeroBackground: 3 анимированных blob'а + dot-grid + плавный fade к контенту
- Stats компонент: 4 карточки — статьи / минуты чтения / токены / просмотры
- Reveal компонент: IntersectionObserver-based fade-in при скролле, respect prefers-reduced-motion
- next.config: rewrites /uploads/* → engine, чтобы картинки работали с относительными путями
- На странице статьи — обложка над контентом
- CSS-переменные --bg, --surface, --ink, --mute, --accent для обеих тем
- darkMode: 'class' в Tailwind config
- ThemeToggle компонент с Sun/Moon, сохраняет выбор в localStorage
- Inline-скрипт в layout.js защищает от FOUC (FlashOfUnstyledContent)
- Авто-определение по prefers-color-scheme как fallback
- not-found.js: красивая 404 страница вместо дефолтной Next
- Обновлены все компоненты и страницы — Header, Footer, ArticleCard, page.js, blog, tag, about