/* mc-brand.css — бренд и соц-гигиена MironCraft поверх платформы.
 *
 * Ноль правок вендора: файл лежит в нашем репозитории, прокси инжектит
 * <link> в index.html. Если платформа переименует классы — правила молча
 * перестанут работать (гейт ловит это снепшотом: соц-элементов быть не должно).
 *
 * Что скрываем и почему:
 *  - Discord-вход и аккаунт: в нашем проекте аккаунтов нет (инди для друзей).
 *  - Privacy-ссылка: ведёт на чужую privacy.html; своих трекеров у нас нет.
 *  - Community directory / my games: чужие загруженные игры и кабинет.
 *    Прямые URL вида ?game=<id> продолжают работать — мы их просто не связываем.
 */

/* --- Соц-элементы: скрыть --- */
.home-account,
button.home-guest-signin,
a.home-guest-privacy,
div.home-guest,
.directory-screen,
.directory-panel,
button.home-card-community,
.mygames-screen,
.mygames-panel {
  display: none !important;
}

/* --- В игре: скрыть платформенный счётчик FPS (debug-оверлей, игроку не нужен) --- */
.fps { display: none !important; }

/* --- Шапка: чужой знак и название — скрыть, наши — показать --- */
.home-brand > span.home-mark {
  display: none !important;
}
.home-brand::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  background: url(/icon.svg) center / contain no-repeat;
}
.home-brand > .home-logo {
  font-size: 0 !important;
}
.home-brand > .home-logo::after {
  content: "MironCraft";
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 3px;
  color: #f2ede4;
}
.home-brand > .home-pitch {
  font-size: 0 !important;
}
.home-brand > .home-pitch::after {
  content: "играй с друзьями прямо в браузере";
  font-size: 13px;
  color: #b9a8a0;
}

/* --- Мобайл: домашняя страница --- */
@media (pointer: coarse) {
  /* PLAY — большая тач-цель */
  .home-actions .home-play,
  button.home-play {
    min-height: 64px;
    font-size: 20px;
  }
  /* Полка игр: запас под safe-area, ничего не обрезается */
  .home-shelf {
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }
  /* Имя игрока и PLAY не разъезжаются на узком экране */
  .home-actions {
    flex-wrap: wrap;
    row-gap: 10px;
  }
}

/* --- В игре: хотбар — крупные ячейки и рабочий тап (баг владельца 2026-10-17/18) ---
 *
 * 1) Тап. Платформенный `tapThrough` ищет элементы HUD геометрией, а на реальном
 *    устройстве у хотбара CSS `zoom` + `translateX(-50%)` — прямоугольник лежит
 *    не там, где элемент видно, и тап уходит в ветку джойстика движения
 *    (ui/touch.ts:196-205): джойстик «переезжает» в точку тапа, ствол не меняется.
 *    Наш патч `scripts/patch-touch.sh` добавляет запасной путь — стек попадания
 *    (`document.elementsFromPoint`), но он НЕ видит ячейки, потому что `#ui`
 *    ставит `pointer-events: none` (style.css:75-84), а `.slot` — не `button`.
 *    Поэтому включаем ячейкам `pointer-events: auto`: событий это не перехватит
 *    (оверлей `.touch` выше — `z-index: 20`, `pointer-events: auto`), но стек
 *    попадания начинает их возвращать, и запасной путь оживает.
 *
 * 2) Размер. Платформа отдаёт тачу `zoom: hud-zoom * 0.85`, а hud-zoom на телефоне
 *    ~0.5 → ячейка 22×22 px (замерено в эмуляции Pixel 9 landscape), иконки не
 *    разглядеть. Фиксируем масштаб: ячейка 52 × 0.85 = 44 px на любом устройстве.
 */
body.touch-playing .hotbar {
  zoom: 0.85;
  /* Платформа делит отступ на фактический zoom (свойство зум-элемента) — повторяем. */
  bottom: calc((env(safe-area-inset-bottom, 0px) + 10px) / 0.85);
}
body.touch-playing .hotbar .slot {
  pointer-events: auto;
}
body.touch-playing .slot img {
  width: 44px;
  height: 44px;
}
/* Портрет (платформа уводит хотбар наверх): 9 ячеек по 44 px не влезают в узкий экран.
 * bottom:auto обязателен: правило выше (ландшафт, без media) задаёт bottom, и без
 * сброса верх+низ одновременно заданы — панель тянется на весь экран (баг 2026-10-21). */
@media (orientation: portrait) {
  body.touch-playing .hotbar {
    zoom: 0.6;
    bottom: auto;
    top: calc((env(safe-area-inset-top, 0px) + 64px) / 0.6);
  }
}

/* --- В игре: управление справа сверху, геймплейные кнопки сверху по центру ---
 *
 * Владелец 2026-10-25: разделить «связь/паузу» от игровых кнопок.
 * Управление (чат → рация → пауза) — правый верх, вертикально.
 * Геймплейные (таблица арены / рюкзак+инструменты выживания) — верх по центру,
 * горизонтально, в акценте своего мира (не нейтрального управления).
 *
 * Кнопки без zoom: 44 px, шаг 52 px по вертикали (управление).
 */
body.touch-playing :is(.touch-more, .touch-pause, .mc-board, .mc-ptt, .mc-craft, .mc-bag, .mc-chat) {
  zoom: 1;
  left: auto;
  top: auto;
  width: 44px;
  height: 44px;
}
/* Управление: чат → рация → пауза, правый верх, вертикально.
 * На коротком экране (телефон) правый верх занят гранатой/кластером огня — ряд
 * левее их; на высоком (планшет) сверху коридор свободен — у самого края. */
body.touch-playing .mc-chat { top: calc(var(--t) + 40px); right: calc(var(--r) + 204px); }
body.touch-playing .mc-ptt { top: calc(var(--t) + 92px); right: calc(var(--r) + 204px); }
body.touch-playing .touch-pause { top: calc(var(--t) + 144px); right: calc(var(--r) + 204px); }
/* «⋯» — под паузой: в играх с прочими кнопками, иначе шторка накрыла бы паузу. */
body.touch-playing .touch-more { top: calc(var(--t) + 196px); right: calc(var(--r) + 204px); }
/* Высокий экран (планшет): управление у самого правого края. */
@media (min-height: 600px) {
  body.touch-playing .mc-chat { right: calc(var(--r) + 14px); }
  body.touch-playing .mc-ptt { right: calc(var(--r) + 14px); }
  body.touch-playing .touch-pause { right: calc(var(--r) + 14px); }
  body.touch-playing .touch-more { right: calc(var(--r) + 14px); }
}
/* Геймплейные кнопки: верх по центру, горизонтально, в акценте мира. */
body.touch-playing .mc-board { top: calc(var(--t) + 40px); left: 50%; transform: translateX(-50%); border-color: rgba(200,80,60,.65); }
body.touch-playing .mc-craft { top: calc(var(--t) + 40px); left: calc(50% - 30px); transform: translateX(-50%); border-color: rgba(63,125,90,.65); }
body.touch-playing .mc-bag { top: calc(var(--t) + 40px); left: calc(50% + 30px); transform: translateX(-50%); border-color: rgba(63,125,90,.65); }
/* Метры (сытость/огонь/ночи) — поднять над хотбаром, чтобы не обрезалось снизу. */
body.touch-playing .meters {
  bottom: calc((env(safe-area-inset-bottom, 0px) + 64px) / var(--hud-zoom, 1));
}
body.touch-playing .touch-drawer {
  zoom: 1;
  left: auto;
  top: calc(var(--t) + 196px);
  right: calc(var(--r) + 66px);
  bottom: auto;
  max-height: 60vh;
}
