@import url("https://fontlay.com/css2?family=Inter:wght@400;500;700&display=swap");

* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	overflow-y: scroll;
	font-size: 1.5rem;
	font-family: inter;
	background-color: #f9f9f9;
}
body {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
body::-webkit-scrollbar {
	display: none;
}

#prevent-select {
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}

#lyrics {
	color: #171717;
	line-height: 2.5rem;
	flex-shrink: 0;
	flex-grow: 1;
	cursor: text;
}

#lyrics a {
	pointer-events: none;
	color: inherit;
	cursor: text;
}

/*** NOT YET IMPLEMENTED
#lyrics a {
	background-color: #ddd;
	color: inherit;
}

#lyrics a:hover {
	background-color: #ccc;
}
***/

nav {
	background-color: #ffcd38;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
}

nav img {
	width: 50px;
}

a {
	text-decoration: none;
}

[data-exclude-from-selection='true'] {
	display: flex;
	justify-content: center;
	padding: 1.5rem 0px;
}

[class*='Link__StyledLink'] {
	text-decoration: underline;
	color: initial;
}

#metadata {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex-basis: 0;
}

#metadata h1 {
	font-size: 2rem;
	color: #171717;
}

#metadata h2 {
	font-size: 1.4rem;
	color: #1e1e1e;
	font-weight: 500;
}

#metadata > img {
	width: 20rem;
	border-radius: 3px;
}

#container {
	display: flex;
	padding: 5rem 10rem;
	gap: 5rem;
}

#credits {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#title {
	font-size: 2rem;
	color: #1b1a17;
}

#credits summary {
	font-size: 1.4rem;
	cursor: pointer;
	color: #1e1e1e;
}

#credits p {
	font-size: 1.3rem;
	padding: 0.5rem;
	color: #171717;
}

#credits span {
	font-size: 1.3rem;
	color: #171717;
}

#info {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	flex-basis: 520px;
}

#about {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#about p {
	font-size: 1.4rem;
	color: #171717;
	line-height: 1.8rem;
}

.hidden {
	display: none;
}

#home {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	align-items: center;
	padding: 2rem;
	flex-grow: 1;
}

#home div {
	text-align: center;
}

#home h1 {
	font-weight: 600;
	font-size: 2.2rem;
	color: #222;
}

#home p {
	color: #333;
}

#home code {
	background-color: #eee;
	padding: 0.3rem 1rem;
	border-radius: 0.5rem;
	color: #333;
}

.inline.search-form {
	width: 100%;
}

.inline {
	display: flex;
	justify-content: center;
	width: 35%;
}

.inline input,
.inline button {
	display: inline-block;
	vertical-align: middle;
}

.inline button {
	cursor: pointer;
	border-radius: 0 5px 5px 0;
	border: 1px solid #ddd;
	padding: 0 10px 0 10px;
}

.inline button:hover {
	background-color: #cacaca;
}

#search-input {
	width: 100%;
	padding: 1rem 2rem;
	box-sizing: border-box;
	border-radius: 5px 0 0 5px;

	border: 1px solid #ddd;
	color: #222;
}

#search-page {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	padding: 2rem 1rem;
}

#search-results {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

#search-results h1 {
	text-align: center;
	color: #111;
	font-size: 2.5rem;
}

#search-item {
	display: flex;
	height: 8rem;
	border: 1px solid #eee;
	border-radius: 5px;
	gap: 1rem;
	padding: 1rem;
	box-shadow: 0 1px 1px #ddd;
}

#search-item h2 {
	font-size: 1.8rem;
	color: #222;
}

#search-item span {
	font-size: 1.3rem;
	color: #333;
}

#search-item img {
	width: 8rem;
	border-radius: 5px;
}

@media screen and (min-width: 800px) {
	#search-page {
		width: 80rem;
		margin: 0 auto;
	}
}
@media screen and (min-width: 900px) {
	#lyrics {
		flex-basis: 250px;
	}
}
@media screen and (min-width: 1200px) {
	#lyrics {
		flex-basis: 380px;
	}
}

@media screen and (max-width: 1350px) {
	#info {
		flex-basis: 340px;
	}
}
@media screen and (max-width: 1200px) {
	.inline {
		width: 60%;
	}
	#info {
		flex-basis: 240px;
	}
}

@media screen and (max-width: 900px) {
	.inline {
		width: 80%;
	}
	#container {
		padding: 3rem 2rem;
		flex-direction: column;
		gap: 3rem;
	}

	#metadata {
		align-items: center;
	}
}

footer {
	text-align: center;
	background-color: #ffcd38;
	padding: 1rem;
}

footer a {
	font-weight: 500;
	color: #1b1a17;
	transition: 0.3s ease text-decoration;
	font-size: 1.4rem;
	text-transform: uppercase;
}

footer a:hover {
	text-decoration: underline;
}

#app {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#error {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	flex-grow: 1;
}

#error h1 {
	font-size: 5rem;
	color: #111;
}

#error p {
	text-transform: uppercase;
	font-size: 1.6rem;
	color: #222;
}

/* dark mode */
@media (prefers-color-scheme: dark) {
	body {
		background-color: #181d31;
	}

	nav,
	footer {
		background-color: #fec260;
	}

	#lyrics {
		color: #ccc;
	}

	#metadata h1 {
		color: #ddd;
	}

	#metadata h2,
	#credits p {
		color: #eee;
	}

	#title {
		color: #ddd;
	}

	[class*='Link__StyledLink'] {
		color: #aaa;
	}
	[class*='Link__StyledLink']:hover {
		color: inherit;
	}

	#about p,
	#credits summary,
	details > span {
		color: #ccc;
	}

	#home h1,
	#error h1 {
		color: #eee;
	}

	#home p,
	#error p {
		color: #ddd;
	}

	#search-input {
		background-color: #ddd;
	}

	#search-page h1 {
		color: #eee;
	}

	#search-item {
		border: 1px solid #888;
	}

	#search-item h2 {
		color: #ddd;
	}

	#search-item span {
		color: #bbb;
	}
}
