/* Spotify full palette for non-button elements */
:root {
	--sp-black: #121212;
	--sp-surface: #181818;
	--sp-surface-2: #191414;
	--sp-border: #2a2a2a;
	--sp-text: #ffffff;
	--sp-muted: #b3b3b3;
	--sp-accent: #1DB954;
}

html,
body {
	background: var(--sp-black);
	color: var(--sp-text);
}

/* Global typography tune */
body,
input,
select,
textarea,
button {
	font-family: var(--font-family-base);
}

.wrap {
	background: transparent;
}

.headerbar,
.navbar,
.forabg,
.forumbg,
.panel,
.post,
.bg1,
.bg2,
.bg3,
.stat-block,
#page-footer .navbar,
.cp-mini,
.codebox,
blockquote {
	background: var(--sp-surface);
}

.forabg .header,
.forumbg .header,
li.header dt,
li.header dd {
	background: var(--sp-surface-2);
}

li.row,
ul.topiclist li {
	background: rgba(255, 255, 255, 0.02);
}

li.row:hover,
ul.topiclist li:hover {
	background: rgba(255, 255, 255, 0.05);
}

ul.topiclist li.row,
ul.topiclist dd,
.dropdown li.separator,
hr,
.content h2,
.panel h2,
.signature,
.postprofile {
	border-color: var(--sp-border);
}

.content,
.panel,
.postbody,
.time,
.author,
dd.lastpost,
dd.posts,
dd.topics,
.copyright,
.footer-row,
.forum-description,
.lastpost {
	color: var(--sp-muted);
}

h1,
h2,
h3,
h4,
.site-description h1,
a.forumtitle,
a.topictitle,
.topic-title {
	color: var(--sp-text);
}

a:link,
a:visited,
.breadcrumbs a,
.linklist a,
.navigation a {
	color: var(--sp-muted);
}

a:hover,
.breadcrumbs a:hover,
.linklist a:hover,
.navigation a:hover,
dd.lastpost a:hover,
.lastpost a:hover,
.topic-title:hover,
.forumtitle:hover,
.topictitle:hover {
	color: var(--sp-accent);
}

dd.lastpost a,
.lastpost a,
.topic-title,
.forumtitle,
.topictitle,
.pagination li.active span,
.pagination li a:hover {
	color: var(--sp-accent);
}

.navigation .active-subsection a,
.navigation .active-subsection a:hover,
.tabs .activetab > a,
.tabs .activetab > a:hover {
	background: rgba(29, 185, 84, 0.16);
	color: var(--sp-accent);
}

.inputbox,
input:not(.button1):not(.button2):not(.button3),
select,
textarea {
	background: #242424;
	color: var(--sp-text);
	border-color: #3a3a3a;
}

input::placeholder,
textarea::placeholder {
	color: var(--sp-muted);
}

/* Spotify polish: brighter typography */
.site-description h1,
.site-description p,
.content,
.postbody,
.panel,
.forum-description,
.lastpost,
dd.lastpost,
.time,
.footer-row,
.copyright {
	color: #EDEDED;
}

/* Global readability tune: slightly larger and less cramped body typography */
body {
	font-size: 13px;
	line-height: 1.5;
}

@media (min-width: 1400px) {
	body {
		font-size: 13px;
	}

	.wrap {
		max-width: 1400px;
	}
}

.page-body,
.page-body .content,
.page-body p,
.page-body li,
.page-body dd,
.page-body dt,
.forum-description,
.postbody,
dd.lastpost,
.lastpost,
.stat-block {
	font-size: 1.02em;
	line-height: 1.45;
}

a.forumtitle,
a.topictitle,
.topic-title {
	font-size: 1.08em;
	line-height: 1.34;
	font-weight: 700;
}

/* Global geometry layer (loaded last): rounded forms/buttons without force */
#search-box #search fieldset {
	border-radius: 999px;
}

#search-box .inputbox.search.tiny {
	border: 0;
	background: transparent;
	border-radius: 0;
}

.search-header .button-search,
.search-header .button-search-end {
	border-radius: 0;
}

.search-header .button-search-end {
	border-top-right-radius: 999px;
	border-bottom-right-radius: 999px;
}

.spotify-auth-login {
	border-radius: 999px;
	padding: 8px 18px;
}

input.inputbox[type="text"],
input.inputbox[type="password"],
input.inputbox[type="email"],
input.inputbox[type="number"],
input.inputbox[type="url"],
input.inputbox[type="tel"],
input.inputbox[type="search"]:not(.search),
select {
	height: 42px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 0.98em;
}

textarea {
	border-radius: 14px;
	padding: 10px 12px;
}

a.button1,
input.button1,
button.button1,
a.button2,
input.button2,
button.button2,
input.button3,
button.button3 {
	min-height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	font-size: 1em;
	font-weight: 700;
	line-height: 40px;
}

body.section-ucp form#login .inputbox,
body.section-ucp form#register .inputbox {
	border-radius: 999px;
	padding: 0 14px;
	font-size: 0.98em;
	box-sizing: border-box;
}

/* Global borderless mode */
.headerbar,
.navbar,
.forabg,
.forumbg,
.panel,
.post,
.bg1,
.bg2,
.bg3,
.dropdown .dropdown-contents,
.dropdown-extended .dropdown-contents,
.dropdown-extended .header,
.dropdown-extended .footer,
.phpbb_alert,
.codebox,
blockquote,
.postprofile,
.signature,
.attachbox,
.button,
a.button1,
input.button1,
a.button2,
input.button2,
input.button3,
.inputbox,
select,
textarea,
ul.topiclist dd,
ul.topiclist li.row,
ul.linklist li,
.tabs .activetab > a,
.tabs a:hover,
.navigation .active-subsection a,
.navigation a:hover,
.minitabs .activetab > a,
.minitabs a:hover {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

hr,
.dropdown li.separator,
.caret,
.postprofile,
.signature,
ul.topiclist dd,
li.row,
table.table1 tbody tr,
table.table1 tbody td,
.panel h2,
.content h2 {
	border-color: transparent !important;
}
