Поиск и исправление ошибок
Таблица использует формат симптом → причина → проверка → решение. Файловые ошибки показываются вверху раздела тем; исправление ресурса или CSS вызывает повторное чтение. Пометка Xneon означает подтверждённую особенность проекта, CSS — общий принцип.Проверка качества
Сохраняйте резервную рабочую версию, меняйте по одному небольшому блоку и добавляйте поясняющие комментарии. Палитру держите отдельно от адресных правил. Ограничивайте селекторы нужной областью, сохраняйте видимый фокус и различия обычного/наведённого/отключённого состояния. Не скрывайте ошибки, загрузку и важные действия. Перед публикацией пройдите главную, сборки, каталоги и детали сборки, серверы и их вкладки, аккаунты, оба раздела скинов, статистику, логи, настройки, облако и AI. Откройте Select, подтверждение удаления, диалог, центр уведомлений и контекстное меню. Проверьте пустые списки, загрузку, ошибку и длинные подписи; доступные состояния зависят от данных. Проверьте клавиатуру Tab/Shift+Tab, минимум окна 960×640, повторное открытие приложения, работу без сети для локальной темы и системное уменьшение движения. Для системного цветового режима проверьте оба варианта. Сохраните читаемость важного текста и умеренную стоимость теней/blur на больших списках.Безопасность CSS
CSS предназначен для оформления, но произвольная таблица стилей не является полноценной песочницей безопасности. Она может скрыть важную кнопку или предупреждение, перекрыть область ввода, сделать текст нечитаемым и нарушить взаимодействие.display: none не отключает связанную функцию приложения и не отменяет выполняющийся запрос.
url(), @import, изображения и шрифты могут инициировать внешние запросы. Такой ресурс зависит от чужого сервера и может раскрывать сетевые метаданные, например IP-адрес. Перед использованием чужой темы просмотрите URL и необычные глобальные правила. Укажите внешние зависимости в описании публикации.
В текущем коде CSS помещается в style.textContent, а не выполняется как JavaScript. При этом полноценного фильтра разрешённых селекторов, URL и свойств в CSS-редакторе нет: проверка формата не заменяет проверку содержимого. Ограничения нормализации темы и проверка структуры архива не доказывают безвредность оформления.
xnl-theme ограничивает локальные медиа папкой и именами по хешу. .xntheme проверяет пути, размер и контрольные суммы медиа. Эти проверки защищают конкретный путь переноса файлов; они не превращают произвольный CSS в безопасный. Не используйте CSS для обхода механизмов безопасности и не обещайте, что чужая тема не повлияет на работу лаунчера.