/* SKILLS */
#skills {
  text-align: center;
  padding: 1rem;
  max-width: 56rem;
  cursor: pointer;
  border-radius: 0.5rem;
}

#skills h1 {
  margin: auto auto 2rem;
}

.skills-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 650px;
}

.skills-grid span {
  position: relative;
  display: inline-block;
  margin: 0.3rem;
  padding: 0.55rem 1.1rem;

  background: var(--bg-1);
  border-radius: 999px;
  border: 1px solid var(--glass-border);
  color: var(--text-2);

  overflow: hidden;
}

.skills-grid span::before {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    120deg,
    transparent 30%,
    var(--accent) 50%,
    transparent 70%
  );

  opacity: 0;
  transform: translateX(-120%);

  animation-name: shimmer;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;

  animation-duration: var(--cycle);
  animation-delay: calc(var(--i) * var(--gap));
}

.skills-grid span:hover::before,
.skills-grid span:active::before {
  transform: translateX(120%);
}

.skills-grid span:hover,
.skills-grid span:active {
  color: var(--text-2);
  border-color: var(--accent);
}

.section.highlighted {
  box-shadow:
    0 0 0 4px var(--highlight-ring),
    0 16px 40px var(--highlight-glow);
  transform: scale(1.01);
}

.section.pulse {
  animation: pulse 0.8s ease-out;
}

@media (max-width: 640px) {
  #skills {
    max-width: 25rem;
  }

  #skills h1 {
    margin: auto auto 1rem;
  }
}