* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Цветовые CSS-переменные определяются в src/theme/theme.css
   (палитры × тёмный/светлый режим). Здесь их НЕ дублируем,
   иначе :root перебивал бы светлую тему. */

body {
  font-family: 'Syne', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  background-color: var(--bg0);
  color: var(--text1);
  overflow-x: hidden;
  min-height: 100vh;
  transition: background-color 0.3s ease, color 0.3s ease;
}

#root {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg1);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.2);
}

::selection {
  background-color: color-mix(in srgb, var(--accent) 30%, transparent);
  color: var(--text1);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

* {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* ── Mobile / touch improvements ────────────────────────────── */

/* Предотвращаем авто-зум iOS при фокусе на input (размер шрифта >= 16px) */
@media (max-width: 599px) {
  input, select, textarea {
    font-size: max(16px, 1em) !important;
  }
}

/* Убираем задержку tap 300ms */
* {
  touch-action: manipulation;
}

/* Безопасная зона для iPhone с «чёлкой» / Dynamic Island */
body {
  padding-env: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

/* Минимальный tap-target 44px для кликабельных элементов */
@media (max-width: 599px) {
  button, [role="button"], [role="tab"] {
    min-height: 44px;
  }
  /* Исключаем маленькие иконки-кнопки, у которых явно задан size="small" */
  .MuiIconButton-sizeSmall {
    min-height: unset;
  }
}

/* Отключаем скроллбар на мобильных (touch-устройства и так скроллят) */
@media (max-width: 599px) {
  ::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
}

/* Запрет горизонтального переполнения */
html, body, #root {
  overflow-x: hidden;
  max-width: 100vw;
}
