/* ============================================
   ОБЩИЕ СТИЛИ (применяются для всех устройств)
   ============================================ */

/* Анимации */
@keyframes bounce-slow {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

@keyframes bounce-delayed {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

@keyframes bounce-subtle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes glow {
  0%,
  100% {
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
  }
  50% {
    text-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
  }
}

@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

/* Базовые стили для body */
body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  background: #120b2e; /* Темный фон */
  color: white;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Импорт шрифтов */
@import url("https://fonts.googleapis.com/css2?family=Rye&family=Roboto+Slab:wght@400;700&family=Bangers&display=swap");

/* Основной контейнер */
.container {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 2rem 1rem;
}

/* Фоновое изображение */
.background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.background-image {
  position: absolute;
  inset: 0;
  background: url("images/background.jpg");
  background-size: cover;
  background-position: center;
}

.background-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 0%, rgba(10, 25, 49, 0.8) 100%);
}

/* Общие стили для контента */
.content-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Стили для промо-кода */
.promo-code {
  margin-top: 1rem;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(to bottom, #4a0e4e, #2c0637);
  border-radius: 15px;
  padding: 0.75rem 1.5rem;
  border: 3px solid #8a2be2;
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, 0.1), inset 0 -2px 3px rgba(0, 0, 0, 0.1), 0 4px 6px
    rgba(0, 0, 0, 0.2), 0 0 10px rgba(138, 43, 226, 0.5);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.promo-code::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    to bottom right,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0.05) 50%,
    transparent 51%,
    transparent 100%
  );
  transform: rotate(-45deg);
  opacity: 0.5;
  pointer-events: none;
  transition: all 0.3s ease;
}

.promo-code:hover::before {
  top: -30%;
  left: -30%;
  opacity: 0.8;
}

.promo-label {
  color: #ffd700;
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  font-family: "Roboto Slab", serif;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.promo-value {
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 700;
  background: transparent;
  border: none;
  outline: none;
  font-family: "Roboto Slab", serif;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  letter-spacing: 1px;
}

/* Общие стили для кнопок */
.buttons-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}

/* Обновленные стили для кнопок */
.button {
  display: block;
  width: 100%;
  background: linear-gradient(to bottom, #1e90ff, #0000cd);
  border-radius: 25px;
  padding: 1rem;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  border: 3px solid #004b99;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.3),
    inset 0 -2px 3px rgba(0, 0, 0, 0.2),
    0 4px 0 #cc8800,
    0 5px 5px rgba(0, 0, 0, 0.3),
    0 0 10px rgba(255, 215, 0, 0.5);
  transition: all 0.1s ease-in-out;
  font-family: Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  transform: translateY(-2px);
  letter-spacing: 0.5px;
}

.button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 51%,
    rgba(255, 255, 255, 0.1) 100%
  );
  border-radius: 22px;
  opacity: 0.9;
  pointer-events: none;
}

.button:hover {
  background: linear-gradient(to bottom, #00bfff, #1e90ff);
  transform: translateY(-3px);
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.3),
    inset 0 -2px 3px rgba(0, 0, 0, 0.2),
    0 5px 0 #cc8800,
    0 6px 6px rgba(0, 0, 0, 0.3),
    0 0 12px rgba(255, 215, 0, 0.6);
}

.button:active {
  transform: translateY(0);
  background: linear-gradient(to bottom, #ffcc00, #ff9900);
  box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2), inset 0 -2px 3px rgba(255, 255, 255, 0.1), 0 0 0 #cc8800, 0 0 5px
    rgba(0, 0, 0, 0.3), 0 0 8px rgba(255, 215, 0, 0.4);
}

.button-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 1;
}

.button-emoji {
  font-size: 1.7rem;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.6));
}

/* Обновляем стили для текста кнопки */
.button-text {
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.8), 
             1px -1px 0 rgba(0, 0, 0, 0.8), 
             -1px 1px 0 rgba(0, 0, 0, 0.8), 
             1px 1px 0 rgba(0, 0, 0, 0.8);
}

/* Обновляем стили для подтекста */
.button-subtext {
  font-family: Arial, sans-serif;
  font-size: 0.9rem;
  opacity: 0.9;
  font-weight: normal;
  color: #FFE082;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.8), 
             1px -1px 0 rgba(0, 0, 0, 0.8), 
             -1px 1px 0 rgba(0, 0, 0, 0.8), 
             1px 1px 0 rgba(0, 0, 0, 0.8);
}

/* Общие стили для кнопок */
.buttons-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}

/* Обновляем стили для кнопки копирования */
.copy-button {
  background: linear-gradient(to bottom, #1e90ff, #0000cd);
  color: #ffffff;
  border: 3px solid #004b99;
  padding: 0.75rem 2rem;
  border-radius: 25px;
  cursor: pointer;
  font-size: 1rem;
  width: 70%;
  max-width: 280px;
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.3),
    inset 0 -2px 3px rgba(0, 0, 0, 0.2),
    0 4px 0 #cc8800,
    0 5px 5px rgba(0, 0, 0, 0.3),
    0 0 10px rgba(255, 215, 0, 0.5);
  transition: all 0.1s ease-in-out;
  font-family: Arial, sans-serif;
  font-weight: bold;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.8), 
             1px -1px 0 rgba(0, 0, 0, 0.8), 
             -1px 1px 0 rgba(0, 0, 0, 0.8), 
             1px 1px 0 rgba(0, 0, 0, 0.8);
}

.copy-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 51%,
    rgba(255, 255, 255, 0.1) 100%
  );
  border-radius: 22px;
  opacity: 0.9;
  pointer-events: none;
}

.copy-button:hover {
  background: linear-gradient(to bottom, #00bfff, #1e90ff);
  transform: translateY(-3px);
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.3),
    inset 0 -2px 3px rgba(0, 0, 0, 0.2),
    0 5px 0 #cc8800,
    0 6px 6px rgba(0, 0, 0, 0.3),
    0 0 12px rgba(255, 215, 0, 0.6);
}

.copy-button:active {
  transform: translateY(0);
  background: linear-gradient(to bottom, #ffcc00, #ff9900);
  box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2), inset 0 -2px 3px rgba(255, 255, 255, 0.1), 0 0 0 #cc8800, 0 0 5px
    rgba(0, 0, 0, 0.3), 0 0 8px rgba(255, 215, 0, 0.4);
}

/* Удаляем декоративные элементы для улучшения читаемости */
.button::before,
.copy-button::before,
.button::after,
.copy-button::after {
  content: none;
}

/* ============================================
   МОБИЛЬНАЯ ВЕРСИЯ (max-width: 767px)
   ============================================ */
@media (max-width: 767px) {
  /* Стили для аватара на мобильных */
  .avatar-wrapper {
    width: 120%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 40px;
    overflow: hidden;
    margin-bottom: -1rem;
  }

  .avatar-image {
    width: 120%;
    max-width: 550px;
    height: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  /* Стили для заголовка на мобильных */
  .game-title {
    font-size: 1.875rem;
    margin-top: 0;
    margin-bottom: 0;
    text-align: center;
    width: 100%;
    color: orange;
    font-weight: bold;
    animation: glow 2s infinite;
    -webkit-text-stroke: 0.5px orange;
    text-stroke: 0.5px orange;
  }

  /* Стили для промо-кода на мобильных */
  .promo-code {
    margin-top: 2;
    width: 55%;
    padding: 0.75rem 1rem;
  }

  .promo-label {
    font-size: 1rem;
  }

  .promo-value {
    font-size: 1.2rem;
  }

  /* Стили для кнопок на мобильных */
  .button {
    width: 85%;
    margin: 0 auto;
    padding: 0.85rem;
    font-size: 1rem;
  }

  .button-emoji {
    font-size: 1.5rem;
  }

  .button-text {
    font-size: 1rem;
  }

  .button-subtext {
    font-size: 0.7rem;
  }

  .buttons-container {
    margin-top: 1rem;
  }

  .buttons-container .button:first-child {
    margin-top: 1rem;
  }

  /* Стили для кнопки копирования на мобильных */
  .copy-button {
    width: 60%;
    font-size: 0.75rem;
    padding: 0.6rem 1rem;
  }

  /* Контейнер контента на мобильных */
  .content-container {
    max-width: 100%;
    padding-top: 0;
  }

  /* Основной контейнер на мобильных */
  .container {
    padding-top: 0;
    justify-content: flex-start;
  }
}

/* ============================================
   ДЕСКТОПНАЯ ВЕРСИЯ (min-width: 768px)
   ============================================ */
@media (min-width: 768px) {
  /* Стили для аватара на десктопе */
  .avatar-image {
    width: 574.63px;
    height: 334.63px;
    margin-top: -20.13px;
    margin-bottom: -41.535px;
  }

  /* Стили для заголовка на десктопе */
  .game-title {
    margin-top: 12px;
    font-size: 1.875rem;
    -webkit-text-stroke: 0.5px white;
    text-stroke: 0.5px white;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.7), 0 0 20px rgba(255, 255, 255, 0.5), 0 0 30px rgba(255, 255, 255, 0.3);
  }

  /* Стили для кнопок на десктопе */
  .button-desktop {
    width: 44.96%;
    margin: 0 auto;
  }

  .button {
    padding: 0.68rem;
    font-size: 1.1rem;
  }

  .button-emoji {
    font-size: 1.7rem;
  }

  .button-text {
    font-size: 0.9rem;
  }

  .button-subtext {
    font-size: 0.75rem;
  }

  /* Обновляем стили для промо-кода на десктопе */
  .promo-code {
    padding: 0.75rem 1.5rem;
  }

  .promo-label {
    font-size: 1.1rem;
    margin-bottom: 0.3rem;
  }

  .promo-value {
    font-size: 1.4rem;
  }

  /* Обновляем стили для кнопки копирования на десктопе */
  .copy-button {
    width: 60%; /* Уменьшаем ширину с 70% до 50% */
    max-width: 240px; /* Уменьшаем максимальную ширину с 280px до 240px */
    font-size: 0.7rem; /* Немного уменьшаем размер шрифта */
    padding: 0.5rem 1.2rem; /* Уменьшаем вертикальный padding */
  }
}

/* ============================================
   ВСПОМОГАТЕЛЬНЫЕ КЛАССЫ
   ============================================ */
.filter-white-outline {
  filter: drop-shadow(1px 1px 0 white) drop-shadow(-1px 1px 0 white) drop-shadow(1px -1px 0 white)
    drop-shadow(-1px -1px 0 white);
}

/* Эффекты при взаимодействии */
.button:active {
  transform: translateY(2px);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3), inset 0 -1px 1px rgba(0, 0, 0, 0.3), 0 0 0 #cc8800;
}

.button::before {
  content: "";

  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.8;
  pointer-events: none;
}

/* Стили для футера */
.footer {
  margin-top: 2rem;
  width: 100%;
  text-align: center;
}

/* Добавление декоративных элементов */
.button::before,
.copy-button::before,
.button::after,
.copy-button::after {
  content: none;
}

.game-title {
  font-family: "Rye", cursive;
  font-size: 1.875rem;
  margin-top: 12px;
  text-align: center;
  width: 100%;
  color: orange;
  font-weight: bold;
  animation: glow 2s infinite;
  -webkit-text-stroke: 0.5px white;
  text-stroke: 0.5px white;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.7), 0 0 20px rgba(255, 255, 255, 0.5), 0 0 30px rgba(255, 255, 255, 0.3);
}


