/* PWA специфичные стили */

/* Полноэкранный режим для PWA */
@media all and (display-mode: standalone) {
  body {
    margin: 0;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  
  /* Скрываем браузерные элементы */
  .pwa-mode .browser-ui {
    display: none !important;
  }
}

/* Офлайн режим */
.offline {
  filter: grayscale(50%);
}

.offline::before {
  content: "🌐 Офлайн";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #ff6b6b;
  color: white;
  text-align: center;
  padding: 5px;
  font-size: 12px;
  z-index: 9999;
}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
  body {
    font-size: 16px; /* Предотвращает масштабирование в iOS */
    -webkit-text-size-adjust: 100%;
  }
  
  /* Улучшение касаний */
  button, a {
    min-height: 44px;
    min-width: 44px;
  }
}

/* Безопасные зоны для iPhone X+ */
@supports(padding: max(0px)) {
  body {
    padding-left: min(0vmin, env(safe-area-inset-left));
    padding-right: min(0vmin, env(safe-area-inset-right));
    padding-bottom: min(0vmin, env(safe-area-inset-bottom));
  }
}

/* Анимации загрузки */
.pwa-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.loading-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #007bff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
