.app-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}

.app-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 10em;
  height: 10em;
  padding: 1em;
  border-radius: 0.5em;
  font-weight: 700;

  border: 1px solid
    light-dark(
      var(--light-strong-color),
      var(--dark-strong-color)
    );

  color: light-dark(
    var(--light-strong-color),
    var(--dark-strong-color)
  );

  transition: all 200ms ease-in-out;
}

.app-card::before {
  all: unset;
}

.app-card:hover, .app-card:focus {
  background-color: light-dark(
    var(--light-strong-color),
    var(--dark-strong-color)
  );

  color: light-dark(
    var(--light-background-color),
    var(--dark-background-color)
  );
}

.app-card > p {
  margin: 0;
}

.app-card > span {
  font-size: 6em;
}

.app-card > span.info {
  position: absolute;
  top: 0.25em;
  right: 0.25em;
  font-size: 1.5em;
}

.app-card > span.info::before {
  font-family: var(--font-family-text);
  content: attr(data-hint);
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  z-index: 99999;
  font-size: 1rem;
  padding: 1em;
  color: light-dark(
    var(--light-foreground),
    var(--dark-foreground)
  );
  background-color: light-dark(
    var(--light-background-color),
    var(--dark-background-color)
  );
  border: 1px solid
    light-dark(
      var(--light-foreground-dimmer),
      var(--dark-foreground-dimmer)
    );
  border-radius: 0.5em;
  display: none;
}

.app-card > span.info:hover::before {
  display: block;
}
