body {
	font-family: sans-serif;
	background: #0e0e10;
	color: #ccc;
	margin: 0;
}
	body.stream {
		display: flex;
		height: 100vh;
		flex-direction: column;
	}
	
header {
	background: #18181b;
	padding: 16px;
	font-weight: bold;
	border-bottom: 2px solid #080808;
	overflow: hidden;
}
	header > .status {
		float: right;
	}

h1, h2, h3, h4, h5 {
	margin: 1em 0;
}

a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
}

a:hover {
	text-decoration: underline;
}

.profile-header {
	overflow: hidden;
}
	.profile-header .pic {
		float: left;
		margin: 0 16px 0 0;
	}
		.profile-header img.pic,
		.profile-header .pic > img {
			max-width: 92px;
			max-height: 92px;
		}

	.profile-header h2 {
		margin-top: 0;
	}

.panel {
	max-width: 800px;
	box-sizing: border-box;
	margin: 16px auto;
	padding: 24px 32px;
	background: #18181b;
	border-bottom: 2px solid #080808;
	overflow: hidden;
}
	.panel > *:first-child {
		margin-top: 0;
	}
	.panel > *:last-child {
		margin-bottom: 0;
	}

	.panel > .options {
		float: right;
	}
		.panel > .options a {
			display: inline-block;
			padding: 3px 6px;
			border-radius: 3px;
			background: #666;
			border: 1px solid #888;
			color: #fff;
			font-weight: normal;
		}

	.panel .title {
		margin-bottom: 8px;
	}
		.panel .title > *:first-child {
			margin: 0;
			display: inline-block;
		}

	.panel .tag {
		display: inline-block;
		background: #333;
		font-weight: normal;
		padding: 2px 4px;
		border-radius: 4px;
	}
		.panel .tag.big {
			font-size: 115%;
		}

.panel-container {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

.container {
	max-width: 800px;
	box-sizing: border-box;
	margin: 16px auto;
}

.stream-category-listing {
	/* display: flex; */
	column-width: 600px;
	column-gap: 40px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px 20px;
	background: #0c0c0c;
}
	.stream-category-listing > div {
		padding: 20px 0 0;
		break-inside: avoid;
	}
		.stream-category-listing > div > h2 {
			margin-top: 0;
			background: linear-gradient(to bottom, #ccc0 47%, #ccc 48%, #ccc 52%, #ccc0 53%);
			font-style: italic;
		}
			.stream-category-listing > div > h2 span {
				display: inline-block;
				background: #0c0c0c;
				padding-right: 10px;
			}

.streams {
	overflow: auto;
	background-color: #0004;
	box-shadow: inset 2px 2px 10px #000;
}
	.streams > a {
		display: inline-block;
		width: 128px;
		height: 160px;
		margin: 8px;
		padding: 8px;
		background: #18181b;
		border-bottom: 2px solid #080808;
		text-align: center;
		font-size: 18px;
	}
		.streams > a:hover {
			filter: brightness(150%);
		}
		.streams > a:active {
			filter: brightness(120%);
		}
		.streams > a > img {
			max-width: 128px;
			max-height: 128px;
			margin: 0 0 4px;
		}

.content {
	display: flex;
	flex: 1 1 auto;
	overflow: hidden;
}

	.content > .main {
		flex: 1 1 auto;
		overflow: auto;
	}
		.content > .main > .stream {
			background: #000;
			width: 100%;
			max-height: 80vh;
			aspect-ratio: calc(16 / 9.0);
			border-bottom: 1px solid #222;
		}
			.content > .main > .stream > #video-player{
				display: block;
				margin: 0 auto;
				max-width: 100%;
				aspect-ratio: calc(16 / 9.0);
			}

	.content > .sidebar {
		display: flex;
		flex-direction: column;
		flex: 0 1 340px;
		max-width: 30%;
		width: 340px;
		min-width: 250px;
		background: #18181b;
		border-left: 2px solid #080808;
		padding: 6px;
	}
		.content > .sidebar > .chat {
			flex: 1 1 auto;
			display: flex;
			flex-direction: column;
		}
			.content > .sidebar > .chat > .log {
				flex: 1 1 auto;
				overflow: auto;
				padding: 4px;
				font-size: 16px;
				line-height: 1.3em;
			}
				.content > .sidebar > .chat > .log > div + div {
					margin-top: 6px;
				}
				.content > .sidebar > .chat > .log .name {
					display: inline-block;
					padding: 2px 4px;
					font-weight: bold;
					background: #fff1;
					border-radius: 4px;
					cursor: pointer;
				}
					.content > .sidebar > .chat > .log .name:hover {
						background: #fff2;
						text-decoration: none;
					}

				.content > .sidebar > .chat > .log .message {
				}

			.content > .sidebar > .chat > .input {
				display: flex;
				gap: 4px;
			}
				.content > .sidebar > .chat > .input input {
					flex: 1 1 auto;
					min-width: 0;
					border-radius: 4px;
				}
				.content > .sidebar > .chat > .input img {
					max-width: 16px;
					max-height: 16px;
				}

		.content > .sidebar > .additional {
			flex: 0 0 auto;
		}
			.content > .sidebar > .additional > .status {
				margin: 8px 0 0;
				display: flex;
			}
				.content > .sidebar > .additional > .status > .points {
					display: flex;
				}
					.content > .sidebar > .additional > .status > .points > .count,
					.content > .sidebar > .additional > .status > .points > .label {
						display: block;
						border: 1px solid #666;
						padding: 4px 6px;
					}

					.content > .sidebar > .additional > .status > .points > .count {
						color: #fff;
						border-radius: 8px 0 0 8px;
						border-right-width: 0;
					}

					.content > .sidebar > .additional > .status > .points > .label {
						background: #444;
						border-radius: 0 8px 8px 0;
					}

			.content > .sidebar > .additional > .actions {
				margin-top: 8px;
				columns: 2;
				column-gap: 4px;
				max-width: 340px;
			}
				.content > .sidebar > .additional > .actions > a {
					display: flex;
					flex-direction: column;
					row-gap: 4px;
					justify-content: center;
					align-items: center;
					text-align: center;
					padding: 6px 8px;
					background: linear-gradient(#000c, #000c), url('actions-bg.png') no-repeat;
					background: linear-gradient(#0004, #0004), url('actions-bg.png') no-repeat;
					background-size: 302px 178px;
					/* background: #000c; */
					border: 1px solid #444;
					color: #fff;
					height: 72px;
					font-size: 13px;
					line-height: 15px;
					text-transform: uppercase;
					text-decoration: none;
					margin: 4px 0;
				}
					.content > .sidebar > .additional > .actions > a img {
						display: block;
						max-width: 36px;
						max-height: 36px;
						color: #fff;
					}

					.content > .sidebar > .additional > .actions > a:first-child {
						margin-top: 0;
					}
					.content > .sidebar > .additional > .actions > a:last-child {
						margin-bottom: 0;
					}
					.content > .sidebar > .additional > .actions > a.top.left {
						background-position: top left;
						border-top-left-radius: 8px;
					}
					.content > .sidebar > .additional > .actions > a.top.right {
						background-position: top right;
						border-top-right-radius: 8px;
					}
					.content > .sidebar > .additional > .actions > a.bottom.left {
						background-position: bottom left;
						border-bottom-left-radius: 8px;
					}
					.content > .sidebar > .additional > .actions > a.bottom.right {
						background-position: bottom right;
						border-bottom-right-radius: 8px;
					}
					.content > .sidebar > .additional > .actions > a:hover {
						border-color: #fff;
						color: #fff;
						background-image: linear-gradient(#000a, #000a), url('actions-bg.png');
					}

@media (max-width: 850px) and (max-height:1000px) {
	.content > .main > .info-panel {
		display: none;
	}
}

@media (max-width: 850px) {
	.content {
		flex-direction: column;
	}
		.content > .main {
			flex-grow: 0;
		}
		.content > .sidebar {
			width: auto;
			max-width: none;
			flex-grow: 1;
			flex-direction: row;
			gap: 8px;
			align-items: flex-end;
		}
			.content > .sidebar > .additional {
				display: flex;
				flex-direction: column;
				align-content: flex-end;
			}
}

@media (max-width: 600px) {
	.content {
	}
		.content > .main {
		}
		.content > .sidebar {
			flex-direction: column;
			margin-left: auto;
			margin-right: auto;
			gap: 0;
		}
			.content > .sidebar > .additional {
				width: 340px;
				margin-left: auto;
				margin-right: auto;
			}
				.content > .sidebar > .additional > .actions > a {
					height: 52px;
					font-size: 13px;
					line-height: 15px;
				}
					.content > .sidebar > .additional > .actions > a img {
						max-width: 26px;
						max-height: 26px;
					}
}

* {
	scrollbar-color: #444 #222;
	scrollbar-width: 0.5em;
}

*::-webkit-scrollbar {
	width: 0.5em;
}

*::-webkit-scrollbar-track {
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

*::-webkit-scrollbar-thumb {
	background-color: #4442;
	border: 1px solid #5552;
	border-radius: 0.25em;
}
	*::-webkit-scrollbar-thumb:hover {
		background-color: #444;
		border: 1px solid #555;
	}

form {
}
	form.panel input:first-child,
	form .panel input:first-child,
	form.panel button:first-child,
	form .panel button:first-child {
		margin-top: 0;
	}

	form.panel input,
	form .panel input,
	form.panel button,
	form .panel button {
		display: block;
		margin-top: 8px;
	}

legend {
	margin: 0.5em 0;
	font-size: 110%;
}

textarea,
select,
input[type="text"],
input[type="email"],
input[type="password"] {
	font-family: inherit;
	border-radius: 5px;
	width: 300px;
	box-sizing: border-box;
	padding: 8px;
	background: #333;
	color: #fff;
	border: 1px solid #111;
}
	textarea:focus,
	select:focus,
	input[type="text"]:focus,
	input[type="email"]:focus,
	input[type="password"]:focus {
		outline: 1px solid #888;
	}

.panel .warning {
	width: 300px;
}
.panel-container > .warning {
	width: 364px;
}

textarea {
	resize: vertical;
}

a.button,
button {
	background: #666;
	background: linear-gradient(#0004, #0004), linear-gradient(to bottom right, #26d5e8, #1b7ed6);
	padding: 12px 16px;
	border: 1px solid #444;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	font-weight: bold;
	font-size: 13px;
	line-height: 15px;
	text-transform: uppercase;
	text-decoration: none;
	min-width: 90px;
	color: #fff;
}
	a.button.plain,
	button.plain {
		background: #222;
		border-radius: 4px;
	}
		a.button.plain img,
		button.plain img {
			opacity: 0.6;
		}

	a.button.small,
	button.small {
		padding: 2px;
		min-width: 30px;
	}
	a.button:hover,
	button:hover {
		filter: brightness(120%);
	}
	a.button:active,
	button:active {
		filter: brightness(80%);
	}

hr {
	clear: both;
	margin: 32px 0;
	background: #0000;
	border: 0 none;
	border-top: 1px solid #222;
}

ul {
	margin: 16px 0;
	padding: 0;
	list-style: none;
}
	ul > li:before {
		display: inline-block;
		width: 1em;
		margin-left: -1em;
		content: "‣";
		text-align: center;
	}
	ul > li {
		margin: 0.5em 0 0.5em 1em;
	}
		ul > li:first-child {
			margin-top: 0;
		}
		ul > li:last-child {
			margin-bottom: 0;
		}

.panel-actions {
	overflow: hidden;
	margin: 16px 0;
}
	.panel-actions > a {
		display: inline-block;
		margin-top: 11px;
	}
	.panel-actions > .primary {
		float: right;
	}

table {
	border-spacing: 4px;
}
	table th,
	table td {
		background: #222;
		padding: 8px;
	}
	table th textarea,
	table td textarea,
	table th select,
	table td select,
	table th input[type="text"],
	table td input[type="text"],
	table th input[type="email"],
	table td input[type="email"],
	table th input[type="password"],
	table td input[type="password"] {
		width: auto;
	}

a.video {
	display: block;
	overflow: hidden;
	min-width: 600px;
	border: 4px solid #000;
	padding: 4px;
	background: #000;
	text-decoration: none;
}
	a.video:hover {
		border-color: #088;
		box-shadow: 0 2px 10px #000;
	}

	a.video > img {
		float: left;
		width: 256px;
		margin: -4px 8px -4px -4px;
		border: 1px solid #000;
	}

	a.video > p {
		margin: 0;
	}

.warning {
	background: rgb(173, 92, 0);
	border: 1px solid #f80;
	border-radius: 4px;
	color: #fff;
	padding: 4px 6px;
	box-sizing: border-box;
}