/* Общие правки под телефон. Подключается ко всем модулям автоматически,
   на вид самих тренажёров не влияет — только на поведение в WKWebView.
   Модуль всегда открывается внутри нативного экрана, свой заголовок ему не нужен. */

html {
  -webkit-text-size-adjust: 100%;   /* iOS иначе раздувает текст в альбомной */
  text-size-adjust: 100%;
}

body {
  /* нижняя полоса-индикатор и «чёлка»: контент не должен под них уезжать */
  padding-left: max(16px, env(safe-area-inset-left)) !important;
  padding-right: max(16px, env(safe-area-inset-right)) !important;
  padding-bottom: calc(60px + env(safe-area-inset-bottom)) !important;
  overscroll-behavior-y: contain;   /* не тянуть за собой весь webview */
}

/* серая вспышка по тапу выглядит как поломка, а не как нажатие */
* { -webkit-tap-highlight-color: transparent; }

/* Пальцу нужно 44 pt — меньше просто не попасть.
   Трогаем только интерактивное, текст не растягиваем. */
button, .opt, .seg button, [role="button"] {
  min-height: 44px;
  touch-action: manipulation;       /* убирает 300 мс ожидания двойного тапа */
}

/* двойной тап по гласной не должен зумить страницу */
.word span, .v { touch-action: manipulation; }

/* поля ввода меньше 16px заставляют iOS зумить форму при фокусе */
input, select, textarea { font-size: max(16px, 1em); }

/* длинные таблицы правил на 390 px не влезают — пусть едут вбок сами,
   а не ломают ширину страницы */
table { display: block; overflow-x: auto; white-space: nowrap; }
table td, table th { white-space: normal; min-width: 120px; }

/* подсказки про клавиатуру на телефоне бессмысленны */
@media (pointer: coarse) {
  kbd { display: none; }
  .sub kbd + *, p.sub:has(kbd) { display: none; }
}
