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

.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
}

.background {
  position: relative;
  width: 600px;
  height: 100vh;
  overflow: hidden;
}

.background img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.main-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100vh;
  opacity: 1;
  visibility: visible;
  transition: opacity 280ms ease, visibility 280ms ease;
}

.logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.text {
  position: absolute;
  top: 36%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  max-width: 350px;
}

.text img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.money {
  position: absolute;
  top: 43%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 300px;
}

.money img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Egg Grid Styles */
.egg-grid {
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
}

.row-one {
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
}

.row-two {
  display: flex;
  justify-content: center;
  gap: 80px;
  padding: 0 30px;
}

.egg-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.egg-item:hover {
  transform: scale(1.05);
}

.egg-item img:first-child {
  width: 90px;
  height: auto;
  object-fit: contain;
}

.egg-item .btn-here {
  width: 110px;
  height: auto;
  margin-top: -5px;
  object-fit: contain;
}


/* left-right float animation for godenharmer image */
@keyframes float-lr {
  0% {
    transform: translateX(-250px);
  }

  50% {
    transform: translateX(250px);
  }

  100% {
    transform: translateX(-250px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .godenharmer img {
    animation: none;
  }
}

/* Popout Overlay Styles */
.popout-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  display: flex;
}

.popout-overlay.active {
  opacity: 1;
  visibility: visible;
}

.popout-card {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;

  opacity: 0;
  padding-top: 8%;
}

.popout-overlay.active .popout-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}


/* Center broken egg with emoji/money coming out */
.popout-image {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  z-index: 5;
}

.popout-image img {
  width: 100%;
  max-width: 450px;
  height: auto;
  object-fit: contain;
}

/* Button actions at bottom */
.popout-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 10;
}

.popout-btn {
  top: 40%;
  position: absolute;
  width: 300px;
  max-width: 70%;
  cursor: pointer;
  display: block;
  transition: transform 0.2s ease;
}

.popout-btn:hover {
  transform: scale(1.05);
}

.popout-claim {
  top: 75%;
  position: absolute;
  width: 260px;
  max-width: 70%;
  cursor: pointer;
  display: block;
  transition: transform 0.2s ease;
}

.popout-claim:hover {
  transform: scale(1.05);
}

/* Lose Popout specific styles */
#losePopout .popout-card {
  padding-top: 12%;
}

#losePopout .popout-image-top {
  position: absolute;
  top: 15%;
  width: 100%;
}

#losePopout .popout-image-top img {
  max-width: 380px;
  width: 90%;
}

#losePopout .popout-image {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#losePopout .popout-image img {
  max-width: 500px;
  width: 75vw;
}

#losePopout .popout-btn {
  top: 55%;
}

/* Win Popout specific styles */
#winPopout .popout-card {
  padding-top: 10%;
}

#winPopout .popout-image-top {
  position: absolute;
  top: 12%;
  width: 100%;
}

#winPopout .popout-image-top img {
  max-width: 480px;
  width: 85%;
}

#winPopout .popout-image {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#winPopout .popout-image img {
  max-width: 600px;
  width: 70vw;
}

#winPopout .popout-claim {
  top: 60%;
}

/* ========== RESPONSIVE STYLES ========== */


@media (max-width: 600px) {
  .text {
    top: 35%;
  }

  .money {
    top: 42%;
  }

  .egg-grid {
    top: 68%;
  }

  #losePopout .popout-image img {
    top: 49%;
    max-width: 500px;
  }

  #losePopout .popout-btn {
    top: 55%;
    width: 240px;
  }

  #winPopout .popout-image {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #winPopout .popout-image img {
    max-width: 600px;
    width: 70vw;
  }


  #winPopout .popout-claim {
    top: 52%;
    width: 240px;
  }
}

/* Mobile (max-width: 480px) */
@media (max-width: 450px) {
  .text {
    top: 35%;
  }

  .money {
    top: 42%;
  }

  .egg-grid {
    top: 68%;
  }


  /* Lose Popout specific styles */
  #losePopout .popout-card {
    padding-top: 12%;
  }

  #losePopout .popout-image-top {
    position: absolute;
    top: 15%;
    width: 100%;
  }

  #losePopout .popout-image-top img {
    max-width: 380px;
    width: 90%;
  }

  #losePopout .popout-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #losePopout .popout-image img {
    max-width: 500px;
    width: 90vw;
  }

  #losePopout .popout-btn {
    top: 60%;
  }

  /* Win Popout specific styles */
  #winPopout .popout-card {
    padding-top: 10%;
  }

  #winPopout .popout-image-top {
    position: absolute;
    top: 12%;
    width: 100%;
  }

  #winPopout .popout-image-top img {
    max-width: 480px;
    width: 85%;
  }

  #winPopout .popout-image {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #winPopout .popout-image img {
    max-width: 600px;
    width: 100vw;
  }

  #winPopout .popout-claim {
    top: 60%;
  }
}

@media (max-width: 428px) {
  .text {
    top: 36%;
    width: 70%;
  }

  .money {
    top: 43%;
    width: 60%;
  }

  .egg-grid {
    top: 74%;
  }
  .egg-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .egg-item:hover {
    transform: scale(1.05);
  }

  .egg-item img:first-child {
    width: 100px;
    height: auto;
    object-fit: contain;
  }

  .egg-item .btn-here {
    width: 70px;
    height: auto;
    margin-top: -5px;
    object-fit: contain;
  }
  
  /* Lose Popout specific styles */
  #losePopout .popout-card {
    padding-top: 20%;
  }

  #losePopout .popout-image-top {
    position: absolute;
    top: 15%;
    width: 100%;
  }

  #losePopout .popout-image-top img {
    max-width: 380px;
    width: 90%;
  }

  #losePopout .popout-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #losePopout .popout-image img {
    max-width: 400px;
    width: 100vw;
  }

  #losePopout .popout-btn {
    top: 65%;
  }

  /* Win Popout specific styles */
  #winPopout .popout-card {
    padding-top: 10%;
  }

  #winPopout .popout-image-top {
    position: absolute;
    top: 12%;
    width: 100%;
  }

  #winPopout .popout-image-top img {
    max-width: 480px;
    width: 85%;
  }

  #winPopout .popout-image {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #winPopout .popout-image img {
    max-width: 600px;
    width: 100vw;
  }

  #winPopout .popout-claim {
    top: 65%;
  }
}

/* Extra Small Mobile (max-width: 360px) */
@media (max-width: 390px) {
  .text {
    top: 36%;
    width: 60%;
  }

  .money {
    top: 41%;
    width: 45%;
  }

  .egg-grid {
    top: 72%;
  }

  .egg-item img:first-child {
    width: 90px;
    height: auto;
    object-fit: contain;
  }

  .egg-item .btn-here {
    width: 70px;
    height: auto;
    margin-top: -5px;
    object-fit: contain;
  }
  /* Lose Popout specific styles */
  #losePopout .popout-card {
    padding-top: 20%;
  }

  #losePopout .popout-image-top {
    position: absolute;
    top: 15%;
    width: 100%;
  }

  #losePopout .popout-image-top img {
    max-width: 380px;
    width: 90%;
  }

  #losePopout .popout-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #losePopout .popout-image img {
    max-width: 400px;
    width: 100vw;
  }

  #losePopout .popout-btn {
    top: 65%;
  }

  /* Win Popout specific styles */
  #winPopout .popout-card {
    padding-top: 10%;
  }

  #winPopout .popout-image-top {
    position: absolute;
    top: 12%;
    width: 100%;
  }

  #winPopout .popout-image-top img {
    max-width: 480px;
    width: 85%;
  }

  #winPopout .popout-image {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #winPopout .popout-image img {
    max-width: 600px;
    width: 100vw;
  }

  #winPopout .popout-claim {
    top: 65%;
  }
}

@media (max-width: 360px) {
  .egg-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .egg-item:hover {
    transform: scale(1.05);
  }

  .egg-item img:first-child {
    width: 75px;
    height: auto;
    object-fit: contain;
  }

  .egg-item .btn-here {
    width: 70px;
    height: auto;
    margin-top: -5px;
    object-fit: contain;
  }

  .text {
    top: 36%;
    width: 60%;
  }

  .money {
    top: 42%;
    width: 45%;
  }

  .egg-grid {
    top: 72%;
  }
  .egg-item img:first-child {
    width: 80px;
    height: auto;
    object-fit: contain;
  }

  .egg-item .btn-here {
    width: 70px;
    height: auto;
    margin-top: -5px;
    object-fit: contain;
  }
  /* Lose Popout specific styles */
  #losePopout .popout-card {
    padding-top: 20%;
  }

  #losePopout .popout-image-top {
    position: absolute;
    top: 15%;
    width: 100%;
  }

  #losePopout .popout-image-top img {
    max-width: 380px;
    width: 90%;
  }

  #losePopout .popout-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #losePopout .popout-image img {
    max-width: 400px;
    width: 100vw;
  }

  #losePopout .popout-btn {
    top: 65%;
  }

  /* Win Popout specific styles */
  #winPopout .popout-card {
    padding-top: 10%;
  }

  #winPopout .popout-image-top {
    position: absolute;
    top: 12%;
    width: 100%;
  }

  #winPopout .popout-image-top img {
    max-width: 480px;
    width: 85%;
  }

  #winPopout .popout-image {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #winPopout .popout-image img {
    max-width: 600px;
    width: 100vw;
  }

  #winPopout .popout-claim {
    top: 65%;
  }
}