@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");
.font-bold {
  font-family: "Nunito Sans", sans-serif;
  font-weight: bolder;
}
.font-light {
  font-family: "Nunito Sans", sans-serif;
  font-weight: lighter;
  color: hsl(0, 0%, 90%);
  text-decoration: none;
  text-shadow: 0px 0px 25px rgba(0, 0, 0, 1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  font-family: "Nunito Sans", sans-serif;
  background-color: black;
  color: #ffffff;
  font-size: 10px;
}
body {
  margin: 0;
  padding: 0;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

/* un-used */
.none, .album, .link, .identifier, ul li:first-child {
  display: none;
}

.wrapper {
  position: relative;
  width: 300px;
  height: 680px;
  background: hsl(0, 0%, 10%);
}
.metadata {
  width: 100%;
  padding: 5px 0 40px 0;
  display: flex;
  align-items: center;
  justify-items: center;
}
.metadata > h1,
.metadata > h2,
.metadata > h3 {
  line-height: 30px;
  text-align: center;
}

/* trackname and artist */
.title {
  width: 90%;
  margin: 0% 5% 0% 5%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.artist {
  width: 100%;
  position: absolute;
  top: 23px;
  color: hsl(0, 0%, 90%);
  font-weight: lighter;
}

/* cover */
.media {
  width: 100%;
  height: 300px;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
#cover {
  height: 300px;
  width: 300px;
  box-shadow: 0px 8px 32px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  scale: 1.15;

}

/* table */
#list-content {
  margin-top: 20px;
  height: 100%;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none; /* IE and Edge */
}

.table > h3 {
  margin-bottom: 8px;
}

.table {
  position: absolute;
  padding: 10px;
  width: 300px;
  height: 300px;
  overflow: hidden;
  bottom: 0;
}

.table-list {
  display: flex;
  justify-content: space-between;
  width: 280px;
  border-bottom: 1px #ffffff3b solid;
  padding: 10px ;
}

.prevSong {
  max-width: 150px;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-list > p {
  display: flex;
  align-items: center;
  gap: 5px;
}

.duration,
.date, .share {
  font-size: 10px;
  font-weight: lighter;
}
.share, .date {
  float: right;
}

/* background */
.background {
  display: inline-flex;
  width: 100dvw;
  height: 100dvh;
  position: absolute;
  filter: brightness(80%) blur(30px);
  justify-content: center;
  align-items: center;
  left: 0;
  overflow: hidden;
  top: 0px;
  left: 0px;
  z-index: -1;
}
.background > img {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
}

/* login */

.logo {
  width: 100%;
  height: 50px;
  position: absolute;
  display: flex;
  left: 0;
  top: -100px;
  justify-content: center;
  align-items: center;
}
.logoImg {
  color: hsl(0, 0%, 100%);
}

.login {
  display: flex;
  width: 100dvw;
  height: 100dvh;
  position: absolute;
  background-color: hsl(0, 0%, 10%);
  justify-content: center;
  align-items: center;
  left: 0;
  overflow: hidden;
  gap: 10px;
  top: 0px;
  z-index: 5;
}
.loginthing {
  position: relative;
  font-size: 12px;
}
.loginthing > input {
  width: 100%;
  height: 40px;
  font-size: 30px;
  box-shadow: none;
  text-decoration: none;
  border: none;
  background-color: hsl(0, 0%, 10%);
  color: white;
  font-family: "Times New Roman", Times, serif;
  outline: none;
  border-bottom: 2px solid white;
}
.load {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}

/* gradient */
.gradient {
  position: absolute;
  height: 150px;
  width: 100%;
  bottom: 0;
  left: 0;
  background: linear-gradient(hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, 1));
  pointer-events: none;
  z-index: 2;
}
.gradient2 {
  position: absolute;
  height: 40%;
  width: 100%;
  bottom: 0;
  left: 0;
  background: linear-gradient(hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, 1));
  pointer-events: none;
}

/* animations */

.fade-in-out {
  animation: 2s ease-in-out opacity-in-out;
}

@keyframes opacity-in-out {
  0% {
    opacity: 100%;
  }
  45% {
    opacity: 0%;
  }
  65% {
    opacity: 0%;
  }
  100% {
    opacity: 100%;
  }
}

.fade-out {
  animation: 1s ease-in-out opacity-out;
}

@keyframes opacity-out {
  0% {
    opacity: 100%;
  }
  95% {
    opacity: 0%;
  }
}

.invis {
  pointer-events: none;
  opacity: 0;
}

.rotate {
  animation: 1s ease-in-out infinite rotatec ;
}
@keyframes rotatec {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
