/* GENERIC ELEMENTS */

:root {
	--bg1: #0005;
	--bg2: #0009;
	--text: #EEE;
	--status-offline: #FFF2;
	--status-online: #4F4;
	--status-afk: #F84;
}

.hidden {
	display: none;
}

table {
	border-spacing: 2px;
}

td {
	position: relative;
	max-width: 250px;
	padding: 10px 10px;
	background: var(--bg1);
}

td:not([column=country]):not([column=song]):not([column=artist]) {
	text-align: right;
}

td.sticky {
	width: 40px;
	padding: 0px !important;
	background: transparent;
	backdrop-filter: none;
	z-index: 10;
}

td.sticky img {
	width: 40px;
	display: block;
}

td.currentUser {
	background: var(--bg2);
	font-weight: bold;
}

td.currentUser > * {
	font-weight: bold;
}

.sticky {
	position: sticky !important;
	left: 0;
}

td > a {
	color: inherit;
}

th {
	padding: 7px 10px;
	background: var(--bg2);
	backdrop-filter: blur(5px);
	cursor: pointer;
	text-transform: capitalize;
	position: sticky;
	top: 0;
	z-index: 15;
}

th.empty {
	background: transparent;
}

.centre {
	text-align: center;
}

.img-inline {
	height: 1em;
	padding: 0px 5px;
	vertical-align: top;
}

input[type=number], select {
	margin: -10px;
	padding: 10px;
	background: transparent;
	border: none;
	font-size: 1em;
	font-family: inherit;
	color: inherit;
}

select[disabled] {
	appearance: none;
}

option {
	background: initial;
	color: initial;
}

.error {
	background: #F004;
}

.currentUser.error {
	background: #F008;
}

/* POSITIONAL ELEMENTS */

body {
	width: 100%;
	margin: 0px;
	color: var(--text);
	background-color: #114;
	background-image: url("img/background-2025-blur.webp");
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
	font-family: sans-serif;
}

.mainimg {
	display: block;
	margin: 20px auto;
	height: 150px;
}

main {
	margin: 20px auto 0px;
	padding-bottom: 50px;
	width: fit-content;
	max-width: 100%;
	overflow-x: auto;
	height: calc(100vh - 240px);
}

#user {
	position: absolute;
	top: 10px;
	left: 10px;
	color: #222;
}

#user .username {
	text-transform: capitalize;
}

#user button {
	padding: 5px 10px;
}

dialog {
	border: none;
	border-radius: 5px;
	box-shadow: 0px 20px 100px 0px black;
	z-index: 10;
}

dialog > h2 {
	margin-top: 0px;
}

dialog input {
	padding: 5px;
}

dialog button {
	padding: 5px 10px;
}

dialog .close-button {
	position: absolute;
	top: 0px;
	right: 0px;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 1.2em;
	outline: none;
}

dialog::backdrop {
	background: transparent;
	backdrop-filter: blur(5px);
}

@supports not (backdrop-filter: blur) {
	dialog::backdrop {
		background: #0008;
	}
}
