/* Telegram WebApp правильное позиционирование */
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #FFFFFF; /* Белый фон */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

html.tg {
  max-width: 100% !important;
  overflow: hidden !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
/* Flutter контейнер */
#flutter-target {
  width: 100%;
  height: 100%;
  background-color: #FFFFFF; /* Белый фон для приложения */
}

/* ПРИНУДИТЕЛЬНЫЕ ОГРАНИЧЕНИЯ ДЛЯ ВЕБ-РЕЖИМА (не TMA) */
html:not(.tg) #flutter-target {
  width: clamp(420px, 28vw, 640px) !important;
  height: 100% !important;
  max-width: clamp(420px, 28vw, 640px) !important;
  max-height: 100% !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Принуждаем flutter-view к размерам контейнера (только вне TMA) */
html:not(.tg) flutter-view {
  width: clamp(420px, 28vw, 640px) !important;
  height: 100% !important;
  max-width: clamp(420px, 28vw, 640px) !important;
  max-height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

html.tg flutter-view {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  clip-path: inset(0 0 0 0);
}

/* Принуждаем canvas к размерам контейнера (только вне TMA) */
html:not(.tg) flutter-view canvas {
  width: clamp(420px, 28vw, 640px) !important;
  height: 100% !important;
  max-width: clamp(420px, 28vw, 640px) !important;
  max-height: 100% !important;
}

/* Отключаем pointer events для overlay слоев */
.flt-semantics-host,
.flt-text-editing-host,
.transparentTextEditing {
  pointer-events: none !important;
}

.flt-text-editing {
  pointer-events: auto !important;
}

/* Предотвращение скролла */
body {
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
}

/* Оптимизация для мобильных устройств */
* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Убираем выделение текста в input полях */
input, textarea {
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Убираем стандартные стили для мобильных браузеров */
input[type="text"], input[type="email"], input[type="password"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

/* Убираем стандартные стили кнопок */
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
}

/* Убираем стандартное выделение ссылок */
a {
  -webkit-tap-highlight-color: transparent;
}

/* Отключаем зум при фокусе на input в iOS */
@media screen and (max-width: 767px) {
  input[type="text"], input[type="email"], input[type="password"], textarea, select {
    font-size: 16px;
  }
}

/* Стили для Flutter элементов */
.flt-glass-pane {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.flt-text-editing {
  position: absolute;
  pointer-events: auto;
}

/* Стили для canvas */
canvas {
  display: block;
}

/* Убираем стандартные отступы для Flutter */
flt-glass-pane * {
  box-sizing: border-box;
}

/* Стили для семантических элементов Flutter */
.flt-semantics-host {
  pointer-events: none !important;
}

.flt-text-editing-host {
  pointer-events: none !important;
}

.transparentTextEditing {
  pointer-events: none !important;
}