src/assets/styles/common.css
@import "./tailwind-config.css";

:not(a).clr-lastfm {
  color: var(--color-lastfm);
}

.clr-current {
  color: currentColor !important;
}

a.clr-lastfm {
  --link-text-default: var(--color-lastfm);
  --link-text-hover: var(--color-lastfm-light);
}

:not(a).clr-user {
  color: var(--color-rym-user);
}

a.clr-user {
  --link-text-default: var(--color-rym-user);
  --link-text-hover: color-mix(in srgb, var(--color-rym-user), white 30%);
}

.btn-icon {
  display: inline-block;
  border: none;
  background: none;
  appearance: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: var(--link-text-default);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transition: all 0.3s ease-out;

  svg {
    width: 100%;
    height: 100%;
    color: currentColor;
  }

  @media (hover: hover) and (pointer: fine) {
    &:hover {
      color: var(--link-text-hover);
    }
  }
}

.btn-toggle-icon {
  display: inline-block;
  border: none;
  background: none;
  appearance: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: currentColor;
  opacity: 0.75;
  padding: 10px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;

  &.size-lg {
    padding: 5px;
  }

  &:active {
    background-color: rgba(0, 0, 0, 0.2);
  }

  svg {
    width: 100%;
    height: 100%;

    &:first-child {
      display: block;
    }

    &:last-child {
      display: none;
    }
  }

  &.is-active {
    svg {
      &:first-child {
        display: none;
      }

      &:last-child {
        display: block;
      }
    }
  }
}

[aria-hidden="true"]:is(li, span).separator {
  margin-inline: 0.8rem;
  user-select: none;
}

button.link-alike {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: bold;
  color: var(--link-text-default);
  cursor: pointer;
}

button.link-alike:hover {
  color: var(--link-text-hover);
}

button.link-alike:disabled {
  color: gray;
  text-decoration: none;
  cursor: default;
}

.is-hidden {
  display: none !important;
}
