#lootboxOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.85);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.hidden { display: none !important; }



@keyframes shake {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(3deg); }
  75% { transform: rotate(-3deg); }
}

.shine {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255,255,255,.4), transparent 60%);
  animation: pulse 1s infinite;
}

.reward {
    margin-top: 30px;
    font-size: 22px;
    color: #fff;
    text-align: center;
    float: right;
    display: contents;
}
.reward-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.reward-card {
  background: #111;
  color: #fff;
  border-radius: 16px;
  padding: 24px;
  width: 280px;
  text-align: center;
  box-shadow: 0 0 40px rgba(255,255,255,0.1);
  animation: pop 0.25s ease-out;
}

.reward-icon {
  font-size: 48px;
  margin-bottom: 12px;
}



.reward-desc {
  font-size: 16px;
  opacity: 0.9;
  margin-bottom: 16px;
}

.reward-btn {
  background: #2ea6ff;
  border: none;
  color: #fff;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
}

@keyframes pop {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
