body {
  background-color: rgb(30, 255, 0);
  margin: 0;
  font-family: 'Arial Narrow', Arial, 'Franklin Gothic Medium', sans-serif;
}

h1 {
  margin: 50px;
  font-size: 100px;
  color: black;
}


#sommaire {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-left: 50px;
  font-family: 'Arial Narrow', Arial, 'Franklin Gothic Medium', sans-serif;
  font-weight: 700;
  text-align: left;
  margin-top: 20px;
}

#sommaire button {
  background: none;
  border: none;
  color: black;
  cursor: pointer;
  font-size: 1em;
  font-family: inherit;
  font-weight: inherit;
  text-decoration: none;
  text-align: left;
  padding: 0;
}

#sommaire button.active {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}

#sommaire button:hover,
#sommaire button:focus {
  outline: none;
  text-decoration: none;
}


#grid {
  margin: 50px;
  column-count: 4; 
  column-gap: 30px;
}

#grid p {
  display: inline-block;
  width: 100%;
  margin: 0 0 30px;
  break-inside: avoid; 
  box-shadow: 5px 5px 15px rgba(0,0,0,0.3);
  background-color: rgb(30, 255, 0);
  border-radius: 5px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

#grid p:hover {
  transform: translateY(-4px);
}

#grid img {
  width: 100%;
  display: block;
  border-radius: 5px 5px 0 0;
  filter: grayscale(100%) brightness(0.6) contrast(1.1) sepia(1) hue-rotate(80deg) saturate(5);
  transition: filter 0.3s;
}

#grid img:hover {
  filter: none;
}

#grid strong {
  display: block;
  padding: 10px;
  font-weight: 700;
  text-align: left;
  color: black;
}


.pixel-star {
  position: fixed;
  width: 16px;
  height: 16px;
  image-rendering: pixelated;
  background: none;
  z-index: 1;
  pointer-events: none;
  transform: translate(-50%, -50%);
  opacity: 0.9;
  animation: pixelTwinkle 2.5s infinite ease-in-out;
}

.pixel-star.type1::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background:
    linear-gradient(black, black) center/4px 4px no-repeat,
    linear-gradient(black, black) 50% 0/2px 16px no-repeat,
    linear-gradient(black, black) 0 50%/16px 2px no-repeat;
}

.pixel-star.type2::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background:
    linear-gradient(black, black) center/6px 6px no-repeat,
    linear-gradient(black, black) 50% 0/2px 20px no-repeat,
    linear-gradient(black, black) 0 50%/20px 2px no-repeat,
    linear-gradient(black, black) 25% 25%/2px 2px no-repeat,
    linear-gradient(black, black) 75% 75%/2px 2px no-repeat;
}

.pixel-star.type3::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background:
    linear-gradient(black, black) 50% 0/2px 12px no-repeat,
    linear-gradient(black, black) 0 50%/12px 2px no-repeat;
}

@keyframes pixelTwinkle {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}
