@font-face {
  font-family: 'PTSerif';
  font-weight: bold;
  font-style: normal;
  src:
		url('/fonts/PT-Serif_Bold.woff2') format('woff2'),
		url('/fonts/PT-Serif_Bold.woff') format('woff');
}

@font-face {
  font-family: 'Inter';
  font-weight: bold;
  src: url('/fonts/Inter-Bold.ttf') format('truetype');
}

:root {
  --background: #2b2b2b;
  --text: #ffffff;
  --inactive: #333333;
  --done: #38eb6a;
  --shadow: rgba(0, 0, 0, .5);
  --progress-bar: rgba(0, 0, 0, .5);
  --downloader-border: #333333;
  --downloader-background: #202020;
  --drawer-height: 10vh;
  --slideDuration: 0.4s;
  font-size: 0.5vh;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
  -webkit-user-select: none;
}

html, body {
  width: 100%;
  height: 100%;
  background-color: var(--background);
  overflow: hidden;
  position: relative;
}

main {
  height: 100%;
}

.track-library {
  list-style-type: none;
  height: 100%;
  overflow: auto;
}

main:has(.track-player__active) .track-library {
  height: calc(100% - var(--drawer-height));
}

.offline-banner {
  z-index: 10;
  width: 263px;
  height: fit-content;
  border-radius: 18px;
  background-color: var(--background);
  color: var(--text);
  text-align: center;
  position: fixed;
  left: -50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: var(--slideDuration);
  transition-timing-function: ease-in;
  font-family: 'Inter';
  font-weight: bold;
  padding: 20px;
  width: 70%;
  border-radius: 5rem;
  padding: 6rem;
}

.offline-banner__show {
  left: 50%;
  transition-timing-function: ease-out;
}

.offline-banner h3 {
  font-size: 4.8rem;
  margin-bottom: 3rem;
}

.offline-banner p {
  font-size: 4.2rem;
  letter-spacing: 0.2px;
  margin-bottom: 4.5rem;
}

.offline-banner button {
  background: none;
  outline: none;
  border: none;
  color: var(--done);
  font-size: 4.2rem;
}

track-player {
  width: 100%;
	height: 100%;
  position: absolute;
	top: 0;
	left: 100%;
	transition-duration: var(--slideDuration);
  transition-timing-function: ease-in;
}

.track-player__active {
  left: 0;
  top: 100%;
  z-index: 3;
}

.track-player__show {
  left: 0;
  top: 0;
  transition-timing-function: ease-out;
  z-index: 2;
}

.track-player__dragged {
  transition: none;
}
