/* === Обновлено для AndrewGray Lord: новая тёмная тема с изумрудным акцентом === */
:root {
	/* ФОНЫ */
	--bg: #0f1115;
	--bg-darker: #090a0d;
	--bg-lightest: #15181e;
	--bg-lighter: #1b1f26;
	--bg-black: #07080a;
	--ui-bg: #12151a;
	--ui-bg-darker: #0c0e11;

	/* АКЦЕНТЫ */
	--accent: #00e6b8;
	--accent-2: #00ffc5;
	--accent-3: #00b390;

	/* ГРАНИЦЫ */
	--bdc: #242933;
	--bdc-lighter: #2e3440;

	/* ТЕКСТ */
	--tt: #e0e5ec;
	--tt-lighter: #ffffff;
	--tt-darker: #a0a8b8;
	--tt-darker-2: #7c8596;
}

/* === УВЕДОМЛЕНИЯ === */
.message-info {
	color: var(--tt);
	line-height: 1.5;
	margin-bottom: 20px;
	background-color: var(--bg-darker);
	box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
	border: 1px solid var(--bdc);
	position: relative;
	padding: 15px 20px;
	border-left-width: 44px;
	border-left-color: var(--accent);
}
.message-info__title { font-weight: 500; }
.message-info a { text-decoration: underline; }
.message-info::before {
	content: "\f071";
	font-family: 'Font Awesome 5 Pro';
	font-weight: 900;
	font-size: 22px;
	color: #fff;
	margin-top: -18px;
	position: absolute;
	left: -44px;
	top: 50%;
	width: 44px;
	text-align: center;
}

/* === ГОЛОСОВАНИЕ === */
.sect__content--vote { padding-left: 50%; position: relative; }
.voter__title { font-size: 21px; font-weight: 300; margin-bottom: 20px; }
.vote { margin-bottom: 13px; line-height: 1.6; margin-left: 0; }
.vote input { display: none; }
.vote label { position: relative; padding-left: 26px; }
.vote label::before {
	content: "";
	cursor: pointer;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid var(--tt);
	display: block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 1px;
}
.vote input:checked + label::before {
	border-color: var(--accent);
	background: var(--accent);
	box-shadow: inset 0 0 0 2px #fff;
}
.vote label:hover { cursor: pointer; color: var(--accent); }
.voter__bottom { padding-top: 20px; }
.voter__submit {
	border: 1px solid var(--bdc);
	border-radius: 20px;
	height: 40px;
	margin-right: 20px;
	color: var(--tt);
	background-color: transparent;
	padding: 0 40px;
}
.voter__count, .voter__caption { color: var(--tt-darker-2); font-size: 0.9em; }
.voter__caption { line-height: 1.6; margin-bottom: 20px; margin-top: -15px; max-width: 240px; }
.voter__btn { background: none !important; padding: 0; color: var(--tt-darker-2) !important; font-size: 0.9em; }
.col-side .voter__title { font-size: 17px; }
.col-side .voter__submit { padding: 0 20px; }

/* === ПРОГРЕСС-БАРЫ === */
.voteprogress, .pollprogress {
	overflow: hidden;
	height: 15px;
	margin-bottom: 5px;
	background: linear-gradient(to bottom, var(--bg-lightest), var(--bg));
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
	border-radius: 4px;
}
.voteprogress span, .pollprogress span {
	color: #fff;
	text-align: center;
	text-indent: -2000em;
	height: 15px;
	display: block;
	overflow: hidden;
	text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
	background: var(--accent);
}
.voteprogress .vote2, span.poll1 { background: #dd514c; }
.voteprogress .vote3, span.poll2 { background: #5eb95e; }
.voteprogress .vote4, span.poll3 { background: #4bb1cf; }
.voteprogress .vote5, span.poll4 { background: #faa732; }

/* === ФОРМЫ === */
.form__header {
	margin-bottom: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.form__title { font-size: 24px; flex: 1 1 0; }
.form__row { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 20px; }
.form__row:last-child { margin-bottom: 0; }
.form__caption { width: 200px; padding-right: 20px; }
.form__content { flex: 1 1 0; position: relative; max-width: 100%; }
.form__label--important::after { content: "*"; margin-left: 5px; color: #ff6b6b; }
.form__caption--above {
	width: 100%;
	padding: 15px 20px;
	background-color: var(--bg-lightest);
	color: var(--tt-lighter);
}
.form__btn--secondary { margin-left: 20px; }

.checkbox, .comments_subscribe {
	position: relative;
	padding-left: 50px;
}
.checkbox input, .comments_subscribe input {
	appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	transition: all .2s linear;
	height: 20px;
	width: 40px;
	border-radius: 10px;
	background-color: var(--ui-bg);
	cursor: pointer;
	box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -10px;
}
.checkbox input::before, .comments_subscribe input::before {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 10px;
	position: absolute;
	left: 1px;
	top: 1px;
	background-color: var(--bg);
	transition: all .2s linear;
}
.checkbox input:checked, .comments_subscribe input:checked { background-color: var(--accent); }
.checkbox input:checked::before, .comments_subscribe input:checked::before { left: 21px; }

/* === ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ === */
.usp {
	border: 1px solid var(--bdc);
	background-color: var(--ui-bg);
}
.usp__columns {
	background: var(--accent) url(../dleimages/usp-bg.jpg) center / cover no-repeat;
	padding: 20px;
	color: var(--tt-lighter);
	position: relative;
}
.usp__columns::before {
	content: '';
	background-color: var(--accent);
	opacity: 0.2;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.usp__meta { background-color: var(--ui-bg-darker); padding: 20px; }
.usp__list { padding: 20px; padding-bottom: 10px; }
.usp__left { width: 100px; margin-right: 20px; text-align: center; }
.usp__right { width: 180px; margin-left: 20px; }
.usp__img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	margin: 0 auto;
	box-shadow: 0 0 0 5px rgba(0,0,0,0.2);
}
.usp__status {
	padding: 6px 0;
	border-radius: 4px;
	color: #fff;
	margin: 0 10px;
	width: 80px;
	text-align: center;
	font-size: 13px;
}
.usp__status--online { background-color: var(--accent); }
.usp__status--offline { background-color: #eb4d4b; }

/* === ЦИТАТЫ, СПОЙЛЕРЫ === */
.title_quote {
	background-color: var(--bg-lightest);
	color: var(--tt-darker);
	padding: 5px 15px;
	font-size: 12px;
}
.quote {
	margin: 0 0 25px 0;
	padding: 20px 20px 20px 80px;
	position: relative;
	background-color: var(--bg-lightest);
	color: var(--tt);
}
.quote::before {
	content: "\f10e";
	font-family: 'Font Awesome 5 Pro';
	font-weight: 900;
	position: absolute;
	left: 30px;
	top: 12px;
	color: var(--accent);
	font-size: 24px;
}

/* === BB-РЕДАКТОР === */
.bb-pane {
	border: 1px solid var(--bdc);
	background: var(--ui-bg);
	padding: 5px 1px 5px 10px;
	border-radius: 3px 3px 0 0;
	display: flex;
	flex-wrap: wrap;
	background: linear-gradient(to top, var(--ui-bg-darker) 0%, var(--ui-bg) 80%);
}
.bb-btn {
	display: inline-block;
	height: 30px;
	line-height: 30px;
	width: 30px;
	margin-right: 5px;
	color: var(--tt);
	cursor: pointer;
	font-size: 12px;
	border-radius: 3px;
	text-align: center;
	transition: all .3s;
}
.bb-btn:hover {
	color: var(--tt-lighter);
	background-color: var(--accent);
}

/* === МОДАЛЬНЫЕ ОКНА === */
.ui-dialog {
	background-color: var(--ui-bg);
	position: absolute;
	width: 500px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
	border-radius: 10px;
	overflow: hidden;
}
.ui-dialog-titlebar {
	background-color: var(--accent);
	color: var(--tt-lighter);
}
.ui-dialog-content { padding: 30px; }
.ui-dialog-buttonpane { padding: 15px 25px; text-align: center; background-color: var(--ui-bg-darker); }

/* === ОСТАЛЬНОЕ (БЕЗ ИЗМЕНЕНИЙ СТРУКТУРЫ) === */
#pollbox { border-bottom: 1px dashed var(--bdc-lighter); padding-bottom: 22px; }
#dle-poll-list, #searchtable, .pm-status { padding: 0 0 20px 0; border-radius: 6px; }
fieldset { border: 1px solid var(--bdc); padding: 5px; }
.bb-pane h1 { font-size: 36px; margin: 5px 0; }
.bb-pane h2 { font-size: 30px; margin: 5px 0; }
.bb-pane h3 { font-size: 24px; margin: 5px 0; }
.bb-pane h4 { font-size: 18px; margin: 5px 0; }
.bb-pane h5 { font-size: 14px; margin: 5px 0; }
.bb-pane h6 { font-size: 12px; margin: 5px 0; }

/* === АДАПТИВ === */
@media screen and (max-width: 760px) {
	.form__caption:not(.form__caption--above), .form__table .addnews { width: 100%; padding: 0 0 10px 0; }
	.usp__list li { width: 100%; }
	.ui-dialog { width: 90vw !important; }
}