body {
  margin: 0;
  padding: 0;
  background: black;
  font-family: playfair display;
}

nav {
  width: 100%;
  padding: 20px 0;
  background-color: black;
  box-sizing: border-box;
}

ul {
  justify-content: center;
  display: flex;
  list-style: none;
  flex-direction: row;
  text-align: center;
  padding: 0;
  margin: 0;
  gap: 30px;
}

li a {
  text-decoration: none;
  color: #F4C500;
  font-weight: bold;
  font-size: 18px;
}

.star-wrapper {
  position: relative;
  width: 400px;
  height: 400px;
  margin: 50px auto;
}

/* hide checkbox */
.star-wrapper input {
  display: none;
}

/* Star shape */
.star {
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(
    50% 0%, 61% 35%, 98% 35%, 68% 57%, 
    79% 91%, 50% 70%, 21% 91%, 32% 57%, 
    2% 35%, 39% 35%
  );
  background: linear-gradient(120deg, #3ABEF9 25%, #6ED0FF 50%, #3ABEF9 75%);
  background-size: 200% 200%;
  box-shadow: 0 0 20px rgba(58, 190, 249, 0.7);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: shimmer 10s linear infinite;
  cursor: pointer;
}

.star:hover {
  transform: scale(1.15);
  box-shadow: 0 0 35px rgba(58, 190, 249, 0.9);
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Letter */
.letter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 450px;
  max-width: 90%;
  padding: 25px;
  background: white;
  color: black;
  border-radius: 12px;
  box-shadow: 0 5px 25px rgba(0,0,0,0.5);
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0;
  z-index: 2;
}

/* Show letter when star clicked */
.star-wrapper input:checked ~ .letter {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

/* Letter text */
.letter p {
  margin: 0;
  line-height: 1.6;
}

/* Signature styling */
.letter .signature {
  font-family:  "Mea Culpa", cursive;
  font-size: 26px;
  color:#3ABEF9;
}