/* ==========================================================================
   Avangard Dark 2.0  ·  тёмная тема для MyBB 1.8 в оформлении XenForo (UI.X)
   --------------------------------------------------------------------------
   Раскладка повторяет форум на XenForo 2.x (стиль UI.X / ThemeHouse):
     контейнер 1200px, липкая навигация, узлы форума 46/140/280px,
     правый сайдбар 250px, сообщения с колонкой автора 140px.
   Палитра — собственная: чёрно-серые (нейтральные, без синевы) фоны, границы
   и текст + голубые пастельные акценты. Всё задано в блоке :root.
   Привести случайно попавший «синеватый» серый к нейтральному:
       python build/neutralize-palette.py --apply

   global.css — базовые стили: каркас, шапка, навигация, крошки, блоки,
   список форумов и тем, сообщения, формы, кнопки, панели, подвал.
   ========================================================================== */

/* -------------------------------------------------------------------------
   1. Переменные оформления
   ------------------------------------------------------------------------- */
:root {
	/* Фоны */
	--ad-bg: #141414;
	--ad-bg-soft: #222222;
	--ad-block: #222222;
	--ad-block-alt: #222222;
	--ad-block-head: #1a1a1a;
	--ad-bar: #161616;
	--ad-hover: #353535;

	/* Границы */
	--ad-border: #1b1b1b;
	--ad-border-soft: #202020;

	/* Текст */
	--ad-text: #dadada;
	--ad-text-strong: #fafafa;
	--ad-muted: #a8a8a8;
	--ad-faint: #797979;

	/* Голубой акцент */
	--ad-link: #57a9f6;
	--ad-link-hover: #8ac9ff;
	--ad-accent: #2c8fe6;
	--ad-accent-dark: #1b6bbd;
	--ad-accent-light: #6bbbff;
	--ad-accent-glow: rgba(87, 87, 87, .30);
	--ad-accent-soft: rgba(87, 87, 87, .10);

	/* Иконки узлов */
	--ad-icon-read: #7a7a7a;

	/* Статусы */
	--ad-green: #43b070;
	--ad-red: #e05a5a;
	--ad-amber: #e0a53a;

	/* Геометрия */
	--ad-max: 1200px;
	--ad-gutter: 10px;
	--ad-sidebar: 250px;
	--ad-radius: 4px;
	--ad-radius-sm: 2px;
	--ad-shadow: 0 2px 8px rgba(0, 0, 0, .40);
	--ad-shadow-soft: 0 1px 3px rgba(0, 0, 0, .30);
	--ad-gradient: linear-gradient(180deg, var(--ad-accent-light) 0%, var(--ad-accent) 50%, var(--ad-accent-dark) 100%);
	--ad-font: 'Segoe UI', 'Helvetica Neue', Helvetica, Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', sans-serif;
}

/* -------------------------------------------------------------------------
   2. База (кегли и типографика как в XenForo)
   ------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	background-color: var(--ad-bg);
	background-image: radial-gradient(1100px 520px at 50% -240px, rgba(87, 87, 87, .10), rgba(87, 87, 87, 0) 70%);
	background-repeat: no-repeat;
	color: var(--ad-text);
	text-align: center;
	line-height: 1.4;
	margin: 0;
	padding: 0;
	font-family: var(--ad-font);
	font-size: 15px;
	overflow-y: scroll;
	word-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}

a:link,
a:visited {
	color: var(--ad-link);
	text-decoration: none;
}

a:hover,
a:active {
	color: var(--ad-link-hover);
	text-decoration: none;
}

img {
	border: 0;
	max-width: 100%;
}

img.attachment {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	background: var(--ad-block);
}

hr {
	border: 0;
	border-top: 1px solid var(--ad-border);
	margin: 12px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--ad-text-strong);
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 8px;
}

h1 {
	font-size: 24px;
}

h2 {
	font-size: 20px;
}

h3 {
	font-size: 17px;
}

p {
	margin: 0 0 10px;
}

pre,
code,
kbd,
samp {
	font-family: Monaco, Menlo, Consolas, 'Roboto Mono', 'Courier New', monospace;
}

::selection {
	background: var(--ad-accent);
	color: #fff;
}

.smalltext {
	font-size: 13px;
	color: var(--ad-muted);
}

.largetext {
	font-size: 17px;
	font-weight: 400;
}

.clear,
.clearfix::after {
	clear: both;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.hidden,
.hiddenrow {
	display: none;
}

.scaleimages img {
	max-width: 100%;
	height: auto;
}

/* -------------------------------------------------------------------------
   3. Каркас страницы
   ------------------------------------------------------------------------- */
#container {
	color: var(--ad-text);
	text-align: left;
	font-family: var(--ad-font);
	font-size: 15px;
	line-height: 1.4;
	margin: 0;
	min-width: 0;
}

/* как .p-header-inner / .p-body-inner / .p-footer-inner в XenForo */
.wrapper {
	width: 100%;
	max-width: var(--ad-max);
	min-width: 0;
	margin: 0 auto;
	padding: 0 var(--ad-gutter);
}

#header {
	background: var(--ad-bar);
	border-bottom: 1px solid var(--ad-border);
}

#content {
	background: transparent;
	width: auto !important;
	padding: 20px 0 0;
	overflow: hidden;
}

/* -------------------------------------------------------------------------
   4. Шапка: логотип и служебные ссылки (.p-header-content)
   ------------------------------------------------------------------------- */
#logo {
	background: transparent;
	border-bottom: 0;
	padding: 0;
}

#logo .wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 60px;
	padding-top: 6px;
	padding-bottom: 6px;
}

#logo .wrapper > a {
	display: flex;
	align-items: center;
	line-height: 0;
}

#logo img {
	max-height: 44px;
	width: auto;
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .55));
}

#header ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#header ul.menu li {
	display: inline-block;
	margin: 0;
}

#header ul.menu li a {
	display: inline-block;
	padding-left: 10px;
	line-height: 1.4;
	background-image: none;
	background-repeat: no-repeat;
}

/* .p-nav-list: служебные ссылки шапки */
#logo ul.top_links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
	margin: 0 0 0 auto;
	font-weight: 400;
	text-align: right;
}

#logo ul.top_links li a {
	padding: 7px 10px;
	font-size: 13px;
	color: var(--ad-muted);
	border-radius: var(--ad-radius);
}

#logo ul.top_links li a:hover {
	color: var(--ad-text-strong);
	background: var(--ad-accent-soft);
}

/* -------------------------------------------------------------------------
   5. Липкая навигация (.p-navSticky > .p-nav)
   ------------------------------------------------------------------------- */
#panel {
	position: sticky;
	top: 0;
	z-index: 900;
}

#panel .upper {
	background-color: #1d1d1d;
	background-image: linear-gradient(180deg, #202020 0%, #1a1a1a 100%);
	color: var(--ad-text);
	border-top: 0;
	border-bottom: 1px solid var(--ad-border);
	padding: 8px 0;
	clear: both;
}

#panel .upper .wrapper {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

#panel .upper a:link,
#panel .upper a:visited,
#panel .upper a:hover,
#panel .upper a:active {
	color: #fff;
}

#panel .upper .welcome {
	order: 1;
	color: var(--ad-muted);
	font-size: 13px;
	line-height: 2;
}

#panel .upper form {
	order: 2;
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
}

#search {
	border: 0;
	padding: 0;
	margin: 0;
	float: none;
	display: flex;
	align-items: center;
}

/* поле поиска как .input в XenForo */
#search input.textbox {
	width: 230px;
	height: 34px;
	margin: 0;
	padding: 6px 10px;
	font-size: 15px;
	color: var(--ad-text);
	background: #0f0f0f;
	border: 1px solid var(--ad-border-soft);
	border-right: 0;
	border-radius: var(--ad-radius) 0 0 var(--ad-radius);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, .50);
}

#search input.textbox:focus {
	border-color: var(--ad-accent);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, .50), 0 0 0 2px var(--ad-accent-soft);
}

#search input.button,
#search input[type="submit"] {
	height: 34px;
	margin: 0;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: 0 var(--ad-radius) var(--ad-radius) 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

#search input.button:hover {
	filter: brightness(1.12);
}

/* вход и регистрация (.p-navgroup--guest) */
#panel .upper a.login,
#panel .upper a.lost_password,
#panel .upper a.register,
#panel .upper a.logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 8px;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: var(--ad-radius);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .30);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

#panel .upper a.login:hover,
#panel .upper a.register:hover,
#panel .upper a.logout:hover,
#panel .upper a.lost_password:hover {
	filter: brightness(1.12);
}

/* «Вход» — текстовая ссылка, «Регистрация» — акцентная кнопка */
#panel .upper a.login,
#panel .upper a.logout,
#panel .upper a.lost_password {
	background-color: transparent;
	background-image: none;
	color: var(--ad-link);
	border-color: transparent;
	text-shadow: none;
	box-shadow: none;
}

#panel .upper a.login:hover,
#panel .upper a.logout:hover,
#panel .upper a.lost_password:hover {
	color: var(--ad-link-hover);
	background: var(--ad-accent-soft);
}

/* строка меню пользователя (.p-navgroup) */
#panel .lower {
	background: var(--ad-bg-soft);
	color: var(--ad-muted);
	border-top: 0;
	border-bottom: 1px solid var(--ad-border);
	padding: 0;
	box-shadow: var(--ad-shadow-soft);
}

#panel .lower .wrapper {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
}

#panel .lower ul.panel_links,
#panel .lower ul.user_links {
	float: none;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

#panel .lower ul.user_links {
	margin-left: auto;
}

#panel .lower ul.menu li a {
	display: inline-block;
	padding: 10px 15px;
	font-size: 15px;
	font-weight: 400;
	color: var(--ad-text);
	border-bottom: 2px solid transparent;
	background-image: none;
}

#panel .lower ul.menu li a:hover {
	color: var(--ad-text-strong);
	background: var(--ad-accent-soft);
	border-bottom-color: var(--ad-accent);
}

#panel .lower .user_links li a {
	padding: 10px 12px;
	font-size: 13px;
	color: var(--ad-muted);
}

#panel .lower .user_links li a:hover {
	color: var(--ad-link-hover);
}

#panel .clear {
	display: none;
}

#quick_login .remember_me input {
	vertical-align: middle;
	margin: -3px 0 0 5px;
}

/* -------------------------------------------------------------------------
   6. Хлебные крошки (.p-breadcrumbs)
   ------------------------------------------------------------------------- */
.navigation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 15px;
	margin-bottom: 20px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ad-muted);
	background: var(--ad-bg-soft);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow-soft);
}

.navigation a:link,
.navigation a:visited {
	color: var(--ad-link);
	text-decoration: none;
}

.navigation a:hover,
.navigation a:active {
	color: var(--ad-link-hover);
	text-decoration: none;
}

.navigation a {
	margin-right: 6px;
}

.navigation .active {
	margin-left: 1px;
	color: var(--ad-text);
	font-weight: 700;
}

.navigation img {
	vertical-align: middle;
	filter: invert(1) opacity(.60);
}

/* -------------------------------------------------------------------------
   7. Блоки (.block-container) и заголовки
   ------------------------------------------------------------------------- */
/* шаблоны MyBB разделяют блоки тегами <br />, в XenForo это отступ 20px */
.wrapper > br {
	display: none;
}

.wrapper > table.tborder {
	margin-bottom: 20px;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

.tborder {
	background: var(--ad-block);
	width: 100%;
	margin: 0 auto;
	padding: 0;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow-soft);
}

.tfixed {
	table-layout: fixed;
	word-wrap: break-word;
}

/* заголовок блока: .block-header (17px, обычное начертание) */
.thead {
	background-color: var(--ad-block-head);
	background-image: linear-gradient(180deg, #222222 0%, #191919 100%);
	color: var(--ad-text-strong);
	border-bottom: 1px solid var(--ad-border);
	padding: 8px 10px;
	font-size: 17px;
	font-weight: 400;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .45);
}

.thead strong,
.thead b {
	font-weight: 400;
}

.thead a:link,
.thead a:visited {
	color: var(--ad-text-strong);
	text-decoration: none;
}

.thead a:hover,
.thead a:active {
	color: var(--ad-link-hover);
	text-decoration: none;
}

.thead input.textbox,
.thead select {
	border: 1px solid var(--ad-border-soft);
}

.thead_collapsed {
	border-bottom: 0;
}

/* строка-заголовок колонок */
.tcat {
	background-color: var(--ad-block-head);
	color: var(--ad-muted);
	border-bottom: 1px solid var(--ad-border);
	padding: 7px 10px;
	font-size: 12px;
	font-weight: 400;
}

.tcat strong,
.tcat b {
	font-weight: 400;
}

.tcat a:link,
.tcat a:visited,
.tcat a:hover,
.tcat a:active {
	color: var(--ad-muted);
	text-decoration: none;
}

.tcat a:hover {
	color: var(--ad-link-hover);
}

.tcat .pagination {
	padding-top: 0;
}

/* строки блоков (.block-row) */
.tborder td {
	padding: 10px 8px;
	vertical-align: top;
}

.tborder .thead {
	padding: 8px 10px;
}

.tborder .tcat {
	padding: 7px 10px;
}

.tborder .tfoot,
.tborder .trow_sep {
	padding: 6px 10px;
}

.trow1 {
	background: var(--ad-block);
	border-bottom: 1px solid var(--ad-border);
}

.trow2 {
	background: var(--ad-block-alt);
	border-bottom: 1px solid var(--ad-border);
}

.trow_shaded,
.trow_selected,
tr.trow_selected td {
	background: #2a2a2a;
	color: var(--ad-text);
}

.trow_selected a:link,
.trow_selected a:visited,
.trow_selected a:hover,
.trow_selected a:active {
	color: var(--ad-link-hover);
}

.no_bottom_border {
	border-bottom: 0;
}

.trow_sep {
	background: #1e1e1e;
	color: var(--ad-muted);
	border-bottom: 1px solid var(--ad-border);
	font-size: 12px;
	font-weight: 400;
}

.tfoot {
	background: var(--ad-block-alt);
	color: var(--ad-muted);
	border-top: 1px solid var(--ad-border);
	font-size: 12px;
}

.tfoot a:link,
.tfoot a:visited,
.tfoot a:hover,
.tfoot a:active {
	color: var(--ad-link);
	text-decoration: none;
}

.tfoot a:hover {
	color: var(--ad-link-hover);
}

.bottommenu {
	background: var(--ad-block-alt);
	color: var(--ad-text);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	padding: 12px;
	font-size: 13px;
}

.expcolimage {
	float: right;
	width: auto;
	margin-left: 8px;
	padding: 0;
}

.expander {
	vertical-align: middle;
	cursor: pointer;
	filter: invert(1) opacity(.70);
}

.tcat_menu > .expcolimage {
	margin-left: 8px;
}

/* -------------------------------------------------------------------------
   8. Список форумов: узлы (.node) — иконки
   ------------------------------------------------------------------------- */
/* в XenForo это .node-icon: 46px, глиф 32px без подложки */
.forum_status {
	display: inline-block;
	position: relative;
	width: 46px;
	height: 40px;
	background: none;
	border: 0;
	vertical-align: middle;
	cursor: pointer;
}

/* «облачко» сообщения */
.forum_status::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26px;
	height: 19px;
	margin: -12px 0 0 -13px;
	border-radius: 3px;
	background: var(--ad-icon-read);
	transition: background-color .15s ease, box-shadow .15s ease;
}

/* хвостик облачка */
.forum_status::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	margin: 6px 0 0 -4px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid var(--ad-icon-read);
	transition: border-top-color .15s ease;
}

/* --- Есть новые сообщения: акцентный цвет и свечение --- */
.forum_status.forum_on::before {
	background: var(--ad-accent);
	box-shadow: 0 0 12px var(--ad-accent-glow);
}

.forum_status.forum_on::after {
	border-top-color: var(--ad-accent);
}

.forum_status.forum_on:hover::before {
	background: var(--ad-accent-light);
}

.forum_status.forum_on:hover::after {
	border-top-color: var(--ad-accent-light);
}

/* --- Новых сообщений нет --- */
.forum_status.forum_off:hover::before {
	background: #787878;
}

.forum_status.forum_off:hover::after {
	border-top-color: #787878;
}

/* --- Форум закрыт: замок вместо облачка --- */
.forum_status.forum_offclose::before {
	width: 20px;
	height: 15px;
	margin: -6px 0 0 -10px;
	border-radius: 3px;
	background: var(--ad-icon-read);
	box-shadow: none;
}

.forum_status.forum_offclose::after {
	width: 13px;
	height: 7px;
	margin: -21px 0 0 -6px;
	border: 0;
	border-top: 3px solid var(--ad-icon-read);
	border-left: 3px solid var(--ad-icon-read);
	border-right: 3px solid var(--ad-icon-read);
	border-radius: 5px 5px 0 0;
	background: transparent;
}

.forum_status.forum_offclose:hover::before {
	background: #787878;
}

.forum_status.forum_offclose:hover::after {
	border-top-color: #787878;
	border-left-color: #787878;
	border-right-color: #787878;
}

/* --- Форум-ссылка: рамка со стрелкой (.node--link) --- */
.forum_status.forum_offlink::before {
	width: 22px;
	height: 18px;
	margin: -11px 0 0 -13px;
	border: 3px solid var(--ad-icon-read);
	border-radius: 3px;
	background: transparent;
	box-shadow: none;
}

.forum_status.forum_offlink::after {
	width: 12px;
	height: 12px;
	margin: -11px 0 0 1px;
	border: 0;
	border-top: 3px solid var(--ad-icon-read);
	border-right: 3px solid var(--ad-icon-read);
	background: transparent;
}

/* --- Иконки подфорумов --- */
.subforumicon {
	display: inline-block;
	position: relative;
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--ad-icon-read);
	vertical-align: middle;
}

.subforumicon.subforum_minion {
	background: var(--ad-accent);
	box-shadow: 0 0 6px var(--ad-accent-glow);
}

.subforumicon.subforum_minioffclose {
	background: #424242;
	box-shadow: inset 0 0 0 1px var(--ad-muted);
}

.subforumicon.subforum_miniofflink {
	background: #424242;
	box-shadow: inset 0 0 0 1px #787878;
}

/* --- Строка узла: 46px иконка / текст / 140px статистика / 280px последнее --- */
.tborder tr:has(> td > .forum_status) > td {
	vertical-align: middle;
	padding: 10px;
	background-image: none;
}

.tborder tr:has(> td > .forum_status) > td:first-child {
	width: 46px;
	padding: 10px 0 10px 10px;
	text-align: center;
}

.tborder tr:has(> td > .forum_status) > td:nth-child(2) strong {
	font-weight: 400;
}

.tborder tr:has(> td > .forum_status) > td:nth-child(2) strong > a {
	font-size: 17px;
}

.tborder tr:has(> td > .forum_status) > td:nth-child(2) .smalltext {
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ad-muted);
}

.tborder tr:has(> td > .forum_status) > td:nth-child(2) .smalltext strong {
	font-size: 12px;
	font-weight: 400;
	color: var(--ad-faint);
}

/* .node-stats: две колонки по 70px с подписями */
.tborder tr:has(> td > .forum_status) > td:nth-child(3),
.tborder tr:has(> td > .forum_status) > td:nth-child(4) {
	width: 70px;
	padding: 10px 3px;
	text-align: center;
	font-size: 15px;
	color: var(--ad-text-strong);
}

.tborder tr:has(> td > .forum_status) > td:nth-child(3)::before,
.tborder tr:has(> td > .forum_status) > td:nth-child(4)::before {
	display: block;
	margin-bottom: 2px;
	font-size: 12px;
	line-height: 1.26;
	color: var(--ad-muted);
}

.tborder tr:has(> td > .forum_status) > td:nth-child(3)::before {
	content: "Темы";
}

.tborder tr:has(> td > .forum_status) > td:nth-child(4)::before {
	content: "Сообщения";
}

/* .node-extra: 280px */
.tborder tr:has(> td > .forum_status) > td:last-child {
	width: 280px;
	padding: 10px;
	text-align: right;
	font-size: 12px;
	line-height: 1.45;
	color: var(--ad-muted);
}

.tborder tr:has(> td > .forum_status) > td:last-child .smalltext {
	font-size: 12px;
}

.tborder tr:has(> td > .forum_status) > td:last-child strong a {
	font-size: 13px;
	font-weight: 700;
	color: var(--ad-link);
}

.tborder tr:has(> td > .forum_status) > td:last-child strong a:hover {
	color: var(--ad-link-hover);
}

/* --- Легенда под списком форумов --- */
.forum_legend {
	margin: 0 0 20px;
	padding: 10px 15px;
	color: var(--ad-muted);
	font-size: 13px;
	background: var(--ad-bg-soft);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
}

.forum_legend dt {
	display: inline-block;
	vertical-align: middle;
	margin: 0 6px 0 0;
}

.forum_legend dd {
	display: inline-block;
	margin: 0 18px 0 0;
}

.forum_legend .forum_status {
	width: 12px;
	height: 12px;
	margin: 0;
	border-radius: 50%;
	box-shadow: none;
	cursor: default;
}

.forum_legend .forum_status::before,
.forum_legend .forum_status::after {
	display: none;
}

/* --- Подсветка и вспомогательные классы --- */
.thread_start_datetime {
	color: var(--ad-muted);
}

.subject_new a:link,
.subject_new a:visited {
	color: var(--ad-link-hover);
	font-weight: 700;
}

.highlight {
	background: rgba(87, 169, 246, .18);
	color: var(--ad-text-strong);
	padding: 0 2px;
	border-radius: var(--ad-radius-sm);
}

.lastpost {
	color: var(--ad-muted);
}

/* -------------------------------------------------------------------------
   9. Главная страница: основная колонка + сайдбар 250px (.p-body-sidebar)
   ------------------------------------------------------------------------- */
.wrapper:has(#boardstats_e) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--ad-sidebar);
	align-items: start;
	column-gap: 20px;
}

.wrapper:has(#boardstats_e) > .navigation {
	grid-column: 1 / -1;
	grid-row: 1;
}

/* всё, кроме блока статистики, идёт в основную колонку */
.wrapper:has(#boardstats_e) > * {
	grid-column: 1;
}

/* блок «Статистика форума» переносится в правую колонку */
.wrapper:has(#boardstats_e) > table.tborder:has(#boardstats_e) {
	grid-column: 2;
	grid-row: 2 / span 60;
	margin-bottom: 0;
}

/* строки виджетов сайдбара (.block-row) */
.tborder:has(#boardstats_e) td {
	padding: 8px 10px;
	vertical-align: middle;
	font-size: 13px;
	line-height: 1.5;
}

.tborder:has(#boardstats_e) .thead {
	padding: 8px 10px;
	font-size: 17px;
}

.tborder:has(#boardstats_e) .trow1,
.tborder:has(#boardstats_e) .trow2 {
	border-bottom: 1px solid var(--ad-border);
}

.tborder:has(#boardstats_e) .smalltext {
	font-size: 12px;
}

/* «Кто онлайн» и статистика внутри виджета */
.tborder:has(#boardstats_e) .trow1 a,
.tborder:has(#boardstats_e) .trow2 a {
	font-size: 13px;
}

/* -------------------------------------------------------------------------
   10. Список тем (.structItem), пагинация, инлайн-модерация
   ------------------------------------------------------------------------- */
.tborder tr.inline_row > td {
	padding: 10px 8px;
	vertical-align: middle;
}

.tborder tr.inline_row > td:first-child {
	width: 46px;
	padding: 10px 0 10px 10px;
	text-align: center;
}

/* заголовок темы: .structItem-title (17px) */
.tborder tr.inline_row > td:nth-child(3) span[id^="tid_"] a {
	font-size: 17px;
	line-height: 1.3;
}

.tborder tr.inline_row > td:nth-child(3) .smalltext {
	font-size: 12px;
}

.tborder tr.inline_row > td:nth-child(3) > div > div {
	margin-top: 2px;
}

/* ответы и просмотры */
.tborder tr.inline_row > td:nth-child(4),
.tborder tr.inline_row > td:nth-child(5) {
	width: 70px;
	text-align: center;
	font-size: 13px;
	color: var(--ad-muted);
}

/* последнее сообщение */
.tborder tr.inline_row > td:last-child {
	width: 190px;
	text-align: right;
	font-size: 12px;
	line-height: 1.45;
	color: var(--ad-muted);
}

.tborder tr.inline_row > td:last-child a {
	font-weight: 700;
}

td.sticky {
	background-image: linear-gradient(90deg, rgba(87, 169, 246, .08), rgba(87, 169, 246, 0) 70%);
}

/* --- Пагинация (.pageNav) --- */
.pagination {
	font-size: 13px;
	padding-top: 10px;
	margin-bottom: 6px;
	color: var(--ad-muted);
}

.tfoot .pagination,
.tcat .pagination {
	padding-top: 0;
}

.pagination .pages {
	font-weight: 400;
	margin-right: 5px;
	color: var(--ad-muted);
}

.pagination a,
.pagination .pagination_current {
	display: inline-block;
	padding: 5px 8px;
	margin-bottom: 3px;
	font-size: 13px;
	color: var(--ad-text);
	background-color: var(--ad-bg-soft);
	border: 1px solid var(--ad-border-soft);
	border-radius: var(--ad-radius-sm);
}

.pagination a:hover {
	color: #fff;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border-color: var(--ad-accent-dark);
}

.pagination .pagination_current {
	color: #fff;
	font-weight: 700;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border-color: var(--ad-accent-dark);
	box-shadow: 0 0 10px var(--ad-accent-glow);
}

.pagination .go_page img {
	vertical-align: middle;
	opacity: .75;
	filter: invert(1);
}

.drop_go_page {
	background: var(--ad-block);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow);
	padding: 6px;
}

.pagination_breadcrumb,
.pagination_breadcrumb_link {
	background: transparent;
	border: 0;
	outline: 0;
	color: var(--ad-link);
	font-size: 13px;
	cursor: pointer;
}

.pagination_breadcrumb_link:hover {
	color: var(--ad-link-hover);
}

.quick_jump {
	max-width: 280px;
}

.selectall {
	font-size: 12px;
	color: var(--ad-muted);
}

.selectall input {
	vertical-align: middle;
}

/* -------------------------------------------------------------------------
   11. Сообщения (.message): колонка автора 140px, текст 15px
   ------------------------------------------------------------------------- */
#posts_container {
	padding: 0;
}

.post {
	background: transparent;
	border-bottom: 1px solid var(--ad-border);
}

.post:last-of-type,
#posts .post:last-of-type {
	border-bottom: 0;
}

.post.classic {
	padding: 0;
}

/* .message-cell--user */
.post.classic .post_author {
	float: left;
	width: 140px;
	margin: 0;
	padding: 10px;
	background: transparent;
	border: 0;
	border-radius: 0;
	text-align: center;
}

.post .post_author {
	padding: 10px;
	background: transparent;
	border-top: 0;
	border-bottom: 1px solid var(--ad-border);
	overflow: hidden;
}

.post .post_author .buddy_status {
	vertical-align: middle;
	margin: 0;
}

/* аватар: .avatar--m (96px, круглая маска) */
.post .post_author div.author_avatar {
	float: none;
	margin: 0 auto 10px;
	text-align: center;
}

.post.classic .post_author div.author_avatar {
	float: none;
	margin: 0 auto 10px;
	text-align: center;
}

.post .post_author div.author_avatar img {
	width: 96px;
	height: 96px;
	max-width: 100%;
	padding: 0;
	object-fit: cover;
	background: var(--ad-block-alt);
	border: 0;
	border-radius: 50%;
	box-shadow: none;
}

/* имя пользователя: .message-name (17px, 700, по центру) */
.post .post_author div.author_information {
	float: none;
	padding: 0;
	text-align: center;
	line-height: 1.4;
}

.post.classic .post_author div.author_information {
	float: none;
	padding: 0;
	text-align: center;
}

.post .post_author .largetext {
	display: block;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.post .post_author .smalltext {
	font-size: 12px;
	color: var(--ad-muted);
}

/* .message-userExtras */
.post .post_author div.author_statistics {
	float: none;
	margin: 10px 0 0;
	padding: 8px 0 0;
	border-top: 1px solid var(--ad-border);
	font-size: 12px;
	line-height: 1.5;
	color: var(--ad-muted);
	text-align: center;
}

/* .message-cell--main */
.post_content {
	padding: 0;
}

.post.classic .post_content {
	float: left;
	width: calc(100% - 140px);
	padding: 0;
}

/* .message-attribution (дата, номер сообщения) — 12px */
.post .post_head {
	background: transparent;
	border-bottom: 1px solid var(--ad-border);
	padding: 8px 10px;
	margin-bottom: 0;
	font-size: 12px;
	color: var(--ad-muted);
}

.post .post_head span.post_date {
	color: var(--ad-muted);
}

.post .post_head span.edited_post {
	font-size: 11px;
	color: var(--ad-faint);
}

.post .post_head span.edited_post a {
	color: var(--ad-link);
}

/* .message-body */
.post_body {
	padding: 10px;
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ad-text);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.post_body img {
	max-width: 100%;
	height: auto;
}

/* .message-signature */
.post_content .signature {
	margin: 10px 0 0;
	padding: 10px;
	border-top: 1px solid var(--ad-border);
	font-size: 12px;
	line-height: 1.5;
	color: var(--ad-muted);
	max-height: 240px;
	overflow: hidden;
}

.post .post_meta {
	margin: 0;
	padding: 0 10px 10px;
	font-size: 12px;
	color: var(--ad-muted);
}

.post .post_meta a:link,
.post .post_meta a:visited,
.post .post_meta a:hover,
.post .post_meta a:active {
	color: var(--ad-muted);
}

.post .post_meta a:hover {
	color: var(--ad-link-hover);
}

/* .message-footer / .actionBar */
.post_controls {
	clear: both;
	background: rgba(255, 255, 255, .02);
	border-top: 1px solid var(--ad-border);
	border-bottom: 0;
	padding: 6px 10px;
	overflow: hidden;
	font-size: 13px;
}

.post.unapproved_post {
	background: rgba(224, 165, 58, .10);
}

.post.unapproved_post .post_author {
	border-bottom-color: rgba(224, 165, 58, .35);
}

.post.classic.unapproved_post .post_author {
	border-color: rgba(224, 165, 58, .35);
}

.post.unapproved_post .post_controls {
	border-top-color: rgba(224, 165, 58, .35);
}

.trow_deleted,
.post.deleted_post {
	background: rgba(224, 90, 90, .10);
}

.ignored_post,
.deleted_post_collapsed,
.deleted_post_hidden {
	background: var(--ad-bg-soft);
	color: var(--ad-muted);
}

/* -------------------------------------------------------------------------
   12. Кнопки (.button)
   ------------------------------------------------------------------------- */
a.button,
a.button:link,
a.button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 80px;
	padding: 6px 12px;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: var(--ad-radius);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .30);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

a.button:hover {
	color: #fff;
	filter: brightness(1.12);
}

a.button:active {
	filter: brightness(.96);
}

a.button span {
	display: inline;
	padding: 0;
	margin: 0;
	font-size: 13px;
	line-height: 1.2;
	color: #fff;
	background-color: transparent;
	background-image: none;
}

a.button.new_thread_button span,
a.button.new_reply_button span,
a.button.closed_button span,
a.button.rate_user_button span,
a.button.add_buddy_button span,
a.button.remove_buddy_button span,
a.button.add_ignore_button span,
a.button.remove_ignore_button span,
a.button.report_user_button span {
	padding-left: 0;
	background-image: none;
}

/* вторичная кнопка */
a.button.small_button,
a.button.small_button span {
	font-size: 12px;
}

a.button.small_button {
	min-width: 0;
	padding: 4px 9px;
	color: var(--ad-text);
	background-color: var(--ad-bg-soft);
	background-image: none;
	border-color: var(--ad-border);
	text-shadow: none;
	box-shadow: none;
}

a.button.small_button span {
	color: var(--ad-text);
}

a.button.small_button:hover {
	color: var(--ad-text-strong);
	background-color: var(--ad-hover);
	filter: none;
}

.postbit_buttons > a:link,
.postbit_buttons > a:visited,
.postbit_buttons > a:hover,
.postbit_buttons > a:active {
	display: inline-block;
	padding: 4px 9px;
	margin: 2px;
	font-size: 12px;
	color: var(--ad-muted);
	background-color: var(--ad-bg-soft);
	background-image: none;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
}

.postbit_buttons > a:hover {
	color: var(--ad-link-hover);
	background-color: var(--ad-hover);
	border-color: var(--ad-accent);
}

.postbit_buttons a span {
	padding-left: 0;
	color: inherit;
	background-image: none;
}

.post.deleted_post .postbit_mirage {
	opacity: .45;
}

/* -------------------------------------------------------------------------
   13. Формы (.input)
   ------------------------------------------------------------------------- */
form {
	margin: 0;
	padding: 0;
}

input.textbox,
textarea,
select {
	padding: 6px;
	font-family: var(--ad-font);
	font-size: 15px;
	line-height: 1.4;
	color: var(--ad-text);
	background: #0f0f0f;
	border: 1px solid var(--ad-border-soft);
	border-radius: var(--ad-radius);
	outline: 0;
	transition: border-color .15s ease, box-shadow .15s ease;
}

input.textbox:focus,
textarea:focus,
select:focus {
	border-color: var(--ad-accent);
	box-shadow: 0 0 0 2px var(--ad-accent-soft);
}

input.textbox.portal_search {
	width: 68%;
}

textarea {
	padding: 6px;
	line-height: 1.5;
}

select {
	cursor: pointer;
}

select option,
select optgroup {
	background: var(--ad-block);
	color: var(--ad-text);
}

input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
	accent-color: var(--ad-accent);
}

button,
input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 12px;
	font-family: var(--ad-font);
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: var(--ad-radius);
	outline: 0;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .30);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

button:hover,
input.button:hover {
	filter: brightness(1.12);
}

input.error,
textarea.error,
select.error {
	border-color: var(--ad-red);
	box-shadow: 0 0 0 2px rgba(224, 90, 90, .20);
}

input.valid,
textarea.valid,
select.valid {
	border-color: var(--ad-green);
}

label.error {
	color: var(--ad-red);
	font-weight: 600;
}

fieldset {
	margin: 0;
	padding: 10px;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
}

fieldset.trow1,
fieldset.trow2 {
	border-color: var(--ad-border);
}

fieldset.align_right {
	text-align: right;
}

form #message {
	width: 100%;
}

/* как в XenForo: на узких экранах поля 16px, чтобы iOS не масштабировал */
@media (max-width: 568px) {
	input.textbox,
	textarea,
	select {
		font-size: 16px;
	}
}

/* -------------------------------------------------------------------------
   14. Цитаты, код, вложения, опросы, репутация
   ------------------------------------------------------------------------- */
blockquote {
	margin: 10px 0;
	padding: 10px 14px;
	background: var(--ad-block-alt);
	border: 1px solid var(--ad-border);
	border-left: 3px solid var(--ad-accent);
	border-radius: var(--ad-radius);
	font-style: normal;
	font-size: 15px;
	color: var(--ad-text);
	overflow: hidden;
}

blockquote cite {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	color: var(--ad-link);
}

blockquote cite > span {
	float: right;
	font-weight: 400;
	color: var(--ad-muted);
}

blockquote cite span.highlight {
	background: rgba(87, 169, 246, .18);
	color: var(--ad-text-strong);
}

.codeblock {
	margin: 10px 0;
	background: #101010;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	overflow: hidden;
}

.codeblock .title {
	padding: 6px 10px;
	background: var(--ad-block-alt);
	border-bottom: 1px solid var(--ad-border);
	font-size: 12px;
	font-weight: 400;
	color: var(--ad-muted);
}

.codeblock code {
	display: block;
	padding: 10px;
	font-size: 13px;
	line-height: 1.5;
	color: #a8d7ff;
	overflow-x: auto;
	white-space: pre;
}

.separator {
	margin: 10px 0;
	border-bottom: 1px solid var(--ad-border);
}

.smilie_pointer {
	cursor: pointer;
}

.pollbar {
	height: 18px;
	overflow: hidden;
	background: #101010;
	border: 1px solid var(--ad-border-soft);
	border-radius: var(--ad-radius-sm);
}

.pollbar .percent {
	height: 100%;
	line-height: 18px;
	font-size: 11px;
	color: #fff;
	background-color: var(--ad-accent);
	background-image: linear-gradient(180deg, #6bbbff, #2c8fe6);
}

.poll_votedfor {
	color: var(--ad-link);
	font-weight: 700;
}

.posticons_label {
	font-size: 12px;
	color: var(--ad-muted);
}

.trow_reputation_positive {
	background: rgba(67, 176, 112, .12);
}

.trow_reputation_negative {
	background: rgba(224, 90, 90, .12);
}

.reputation_positive {
	color: var(--ad-green);
	font-weight: 600;
}

.reputation_neutral {
	color: var(--ad-muted);
}

.reputation_negative {
	color: var(--ad-red);
	font-weight: 600;
}

.repbox {
	padding: 2px;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius-sm);
	font-size: 11px;
	line-height: 1;
}

._neutral {
	background: #424242;
	color: var(--ad-text);
}

._minus {
	background: var(--ad-red);
	color: #fff;
}

._plus {
	background: var(--ad-green);
	color: #fff;
}

/* -------------------------------------------------------------------------
   15. Системные сообщения и предупреждения (.block-rowMessage)
   ------------------------------------------------------------------------- */
div.error {
	margin: 6px 0;
	padding: 6px 10px;
	background: rgba(224, 90, 90, .12);
	border: 1px solid rgba(224, 90, 90, .45);
	border-radius: var(--ad-radius);
	color: #ffdada;
	font-size: 13px;
}

div.error p {
	margin: 0 0 6px;
}

div.error p em {
	font-style: normal;
	font-weight: 600;
	color: #ffffff;
}

div.error ul {
	margin: 6px 0 0 18px;
	padding: 0;
}

.pm_alert {
	margin: 0 0 20px;
	padding: 10px 15px;
	background: rgba(87, 169, 246, .12);
	border: 1px solid rgba(87, 169, 246, .42);
	border-radius: var(--ad-radius);
	color: #d3e9ff;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
}

.pm_alert a:link,
.pm_alert a:visited,
.pm_alert a:hover,
.pm_alert a:active {
	color: #ffffff;
	text-decoration: underline;
}

.red_alert {
	margin: 0 0 20px;
	padding: 10px 15px;
	background: rgba(224, 90, 90, .14);
	border: 1px solid rgba(224, 90, 90, .45);
	border-radius: var(--ad-radius);
	color: #ffdada;
	font-size: 13px;
}

.red_alert a:link,
.red_alert a:visited,
.red_alert a:hover,
.red_alert a:active {
	color: #ffffff;
}

.high_warning,
.high_banned,
.imminent_banned {
	color: var(--ad-red);
	font-weight: 600;
}

.moderate_warning,
.moderate_banned {
	color: var(--ad-amber);
	font-weight: 600;
}

.low_warning,
.low_banned {
	color: var(--ad-green);
	font-weight: 600;
}

.online {
	color: var(--ad-green);
}

.offline {
	color: var(--ad-muted);
}

.error_message {
	color: var(--ad-red);
	font-weight: 600;
}

.success_message {
	color: var(--ad-green);
	font-weight: 600;
}

#debug {
	padding: 8px 12px;
	background: var(--ad-bg-soft);
	border-top: 1px solid var(--ad-border);
	color: var(--ad-muted);
	font-size: 12px;
	text-align: left;
}

/* -------------------------------------------------------------------------
   16. Выпадающие меню (.menu), модальные окна, уведомления
   ------------------------------------------------------------------------- */
.popup_menu {
	padding: 0;
	background: var(--ad-block);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow);
	font-size: 15px;
}

.popup_menu .popup_item_container {
	margin: 0;
	padding: 0;
}

/* .menu-linkRow */
.popup_menu .popup_item,
.popup_menu a.popup_item {
	display: block;
	padding: 6px 15px 6px 12px;
	font-size: 15px;
	color: var(--ad-text);
	text-decoration: none;
	border-radius: 0;
}

.popup_menu .popup_item:hover,
.popup_menu a.popup_item:hover {
	background: var(--ad-accent-soft);
	color: var(--ad-link-hover);
	text-decoration: none;
}

.popup_menu .popup_item_container:first-child .popup_item {
	border-radius: 3px 3px 0 0;
}

.popup_menu .popup_item_container:last-child .popup_item {
	border-radius: 0 0 3px 3px;
}

.blocker {
	background: rgba(6, 8, 11, .72);
}

.blocker:before {
	background: transparent;
}

.modal {
	padding: 15px;
	background: var(--ad-block);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: 0 14px 44px rgba(0, 0, 0, .65);
	color: var(--ad-text);
	font-size: 15px;
}

.modal a.close-modal {
	top: 9px;
	right: 9px;
	width: 26px;
	height: 26px;
	margin: 0;
	overflow: hidden;
	background-color: var(--ad-bg-soft);
	background-image: none;
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	text-indent: -9999px;
}

.modal a.close-modal::before {
	content: "\00d7";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	text-indent: 0;
	color: var(--ad-text);
	font-size: 18px;
	line-height: 24px;
}

.modal a.close-modal:hover {
	background-color: var(--ad-hover);
}

.modal-spinner {
	background-color: var(--ad-block);
}

.jqifade {
	background: rgba(6, 8, 11, .72);
}

.jGrowl {
	z-index: 9999;
}

.jGrowl-notification {
	background: var(--ad-block) !important;
	border: 1px solid var(--ad-border) !important;
	border-radius: var(--ad-radius) !important;
	box-shadow: var(--ad-shadow) !important;
	color: var(--ad-text) !important;
	opacity: .98 !important;
	font-size: 13px;
}

.jGrowl-notification .jGrowl-header {
	font-weight: 600;
	color: var(--ad-text-strong);
}

.jGrowl-notification .jGrowl-close {
	color: var(--ad-muted);
}

.jGrowl-closer {
	background: var(--ad-bg-soft) !important;
	color: var(--ad-muted) !important;
	border: 1px solid var(--ad-border) !important;
	font-size: 12px;
}

.jGrowl .jGrowl-notification.jgrowl_success {
	border-color: rgba(67, 176, 112, .50) !important;
}

.jGrowl .jGrowl-notification.jgrowl_error {
	border-color: rgba(224, 90, 90, .50) !important;
}

div.jqi {
	background: var(--ad-block);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: 0 14px 44px rgba(0, 0, 0, .65);
	color: var(--ad-text);
	font-size: 15px;
}

div.jqi .jqicontainer {
	border-radius: var(--ad-radius);
}

div.jqi .jqiclose {
	color: var(--ad-muted);
}

div.jqi .jqititle {
	padding: 8px 15px;
	background: var(--ad-block-head);
	border-bottom: 1px solid var(--ad-border);
	color: var(--ad-text-strong);
	font-size: 17px;
	font-weight: 400;
}

div.jqi .jqimessage {
	padding: 15px;
	color: var(--ad-text);
}

div.jqi .jqibuttons {
	padding: 10px 15px;
	background: var(--ad-block-alt);
	border-top: 1px solid var(--ad-border);
}

div.jqi .jqibuttons button {
	margin-left: 8px;
	padding: 5px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: var(--ad-radius);
}

div.jqi .jqibuttons button.jqidefaultbutton {
	background-color: var(--ad-accent);
}

div.jqi .jqibuttons button[disabled] {
	opacity: .55;
	cursor: default;
}

/* -------------------------------------------------------------------------
   17. Редактор сообщений
   ------------------------------------------------------------------------- */
.editor {
	overflow: hidden;
	background: var(--ad-block) !important;
	border: 1px solid var(--ad-border-soft) !important;
	border-radius: var(--ad-radius);
}

.editor_control_bar,
.post .editor_control_bar {
	padding: 5px 6px !important;
	background: var(--ad-block-alt) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ad-border) !important;
	border-radius: var(--ad-radius) var(--ad-radius) 0 0;
}

.editor_control_bar a {
	color: var(--ad-text);
}

.editor_control_bar img {
	vertical-align: middle;
}

.sceditor-container,
.sceditor-container iframe {
	background: #101010 !important;
	color: var(--ad-text) !important;
	border-color: var(--ad-border) !important;
	font-size: 15px !important;
}

.sceditor-container .sceditor-toolbar {
	background: var(--ad-block-alt) !important;
	border-bottom: 1px solid var(--ad-border) !important;
}

.sceditor-container .sceditor-button:hover {
	background: var(--ad-accent-soft) !important;
}

/* -------------------------------------------------------------------------
   18. Подвал (.p-footer)
   ------------------------------------------------------------------------- */
#footer {
	clear: both;
	margin-top: 20px;
	background: var(--ad-bar);
	border-top: 1px solid var(--ad-border);
	color: var(--ad-muted);
	font-size: 13px;
}

#footer .upper {
	padding: 10px 0;
	background: transparent;
	border-bottom: 1px solid var(--ad-border);
	color: var(--ad-muted);
}

#footer .upper .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

#footer ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer ul.menu li {
	display: inline-block;
	margin: 0;
}

#footer .upper ul.bottom_links {
	float: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
}

#footer ul.menu li a {
	padding: 2px 4px;
	font-size: 13px;
	color: var(--ad-muted);
	background-image: none;
	border-radius: var(--ad-radius-sm);
}

#footer ul.menu li a:hover {
	color: var(--ad-link-hover);
	background: var(--ad-accent-soft);
}

#footer .upper .language,
#footer .upper .theme {
	margin-right: 12px;
	font-size: 13px;
}

#footer .upper .language select,
#footer .upper .theme select {
	padding: 4px 7px;
	font-size: 13px;
}

#footer .lower {
	padding: 10px 0;
	background: #0e0e0e;
	border-top: 0;
	color: var(--ad-muted);
	font-size: 12px;
}

#footer .lower .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}

#footer .lower a:link,
#footer .lower a:visited,
#footer .lower a:hover,
#footer .lower a:active {
	color: var(--ad-link);
}

#footer .lower a:hover {
	color: var(--ad-link-hover);
}

#footer .lower #current_time {
	color: var(--ad-muted);
}

#copyright {
	color: var(--ad-faint);
}

/* -------------------------------------------------------------------------
   19. Полоса прокрутки
   ------------------------------------------------------------------------- */
::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}

::-webkit-scrollbar-track {
	background: #101010;
}

::-webkit-scrollbar-thumb {
	background: #3b3b3b;
	border: 3px solid #101010;
	border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--ad-accent);
}

/* -------------------------------------------------------------------------
   20. Адаптивность (контрольные точки XenForo: 1000 / 900 / 650 / 480)
   ------------------------------------------------------------------------- */
@media (max-width: 1000px) {
	.tborder tr:has(> td > .forum_status) > td:nth-child(3),
	.tborder tr:has(> td > .forum_status) > td:nth-child(4) {
		width: 58px;
		padding: 8px 2px;
		font-size: 14px;
	}

	.tborder tr:has(> td > .forum_status) > td:last-child {
		width: 200px;
	}
}

@media (max-width: 900px) {
	/* сайдбар уходит под контент, как .p-body-sidebar в XenForo */
	.wrapper:has(#boardstats_e) {
		display: block;
	}

	.wrapper:has(#boardstats_e) > table.tborder:has(#boardstats_e) {
		margin-bottom: 20px;
	}

	#logo img {
		max-height: 36px;
	}

	#search input.textbox {
		width: 150px;
	}

	.post.classic .post_author {
		width: 130px;
	}

	.post.classic .post_content {
		width: calc(100% - 130px);
	}

	.post .post_author div.author_avatar img {
		width: 80px;
		height: 80px;
	}

	.tborder td {
		padding: 8px 6px;
	}
}

@media (max-width: 650px) {
	/* узел: основной текст и последнее сообщение переходят на отдельные строки */
	.tborder tr:has(> td > .forum_status) {
		display: flex;
		flex-wrap: wrap;
	}

	.tborder tr:has(> td > .forum_status) > td {
		border-bottom: 0;
	}

	.tborder tr:has(> td > .forum_status) > td:first-child {
		flex: 0 0 auto;
		width: 46px;
		padding: 10px 0 10px 10px;
	}

	.tborder tr:has(> td > .forum_status) > td:nth-child(2) {
		flex: 1 1 180px;
		width: auto;
		min-width: 0;
		padding: 10px;
	}

	.tborder tr:has(> td > .forum_status) > td:nth-child(3),
	.tborder tr:has(> td > .forum_status) > td:nth-child(4) {
		flex: 0 0 auto;
		width: 54px;
		padding: 10px 2px;
	}

	.tborder tr:has(> td > .forum_status) > td:last-child {
		flex: 1 1 100%;
		width: 100%;
		padding: 0 10px 10px 56px;
		text-align: left;
	}

	.tborder tr.inline_row > td:nth-child(4),
	.tborder tr.inline_row > td:nth-child(5) {
		width: 46px;
	}

	.tborder tr.inline_row > td:last-child {
		width: 130px;
		font-size: 11px;
	}

	.tborder tr.inline_row > td:nth-child(3) span[id^="tid_"] a {
		font-size: 15px;
	}

	/* сообщение: автор — горизонтальная шапка, как в мобильной вёрстке XenForo */
	.post.classic .post_author {
		display: flex;
		align-items: center;
		gap: 10px;
		float: none;
		width: auto;
		padding: 10px;
		text-align: left;
		border-bottom: 1px solid var(--ad-border);
	}

	.post.classic .post_author div.author_avatar {
		margin: 0;
	}

	.post .post_author div.author_avatar img {
		width: 48px;
		height: 48px;
	}

	.post .post_author div.author_information {
		text-align: left;
	}

	.post .post_author .largetext {
		font-size: 15px;
	}

	.post .post_author div.author_statistics {
		display: none;
	}

	.post.classic .post_content {
		float: none;
		width: auto;
	}
}

@media (max-width: 480px) {
	.tborder tr.inline_row > td:nth-child(2),
	.tborder tr.inline_row > td:nth-child(5) {
		display: none;
	}

	.tborder tr:has(> td > .forum_status) > td:nth-child(3),
	.tborder tr:has(> td > .forum_status) > td:nth-child(4) {
		display: none;
	}

	#logo ul.top_links li a {
		padding: 6px 8px;
		font-size: 12px;
	}
}

/* -------------------------------------------------------------------------
   21. Разметка XenForo из шаблонов
   Правила ниже включаются, когда тема импортирована вместе с шаблонами
   (файл dist\AvangardDark-theme.xml); CSS-only вариант работает на правилах
   разделов 1–20 и эти классы просто не встречает.
   ------------------------------------------------------------------------- */

/* --- Шапка: .p-header --- */
.p-header {
	background: var(--ad-bar);
	border-bottom: 1px solid var(--ad-border);
}

.p-header-inner {
	padding-top: 6px;
	padding-bottom: 6px;
}

.p-header-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 60px;
}

.p-header-logo {
	display: flex;
	align-items: center;
	line-height: 0;
}

.p-header-logo img {
	max-height: 44px;
	width: auto;
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .55));
}

.p-nav-opposite {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

/* --- Навигация: .p-navSticky > .p-nav --- */
.p-navSticky {
	position: sticky;
	top: 0;
	z-index: 900;
}

.p-nav {
	background-color: #191919;
	background-image: linear-gradient(180deg, #1b1b1b 0%, #141414 100%);
	border-bottom: 1px solid var(--ad-border);
	color: var(--ad-text);
}

.p-nav-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.p-nav-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 0 -15px;
	padding: 0;
	list-style: none;
	font-size: 15px;
}

.p-nav-list > li {
	display: inline-block;
	margin: 0;
}

.p-nav-list > li > a {
	display: inline-block;
	padding: 12px 15px;
	font-size: 15px;
	line-height: 1.3;
	color: var(--ad-text);
	background-image: none;
}

.p-nav-list > li > a:hover {
	color: var(--ad-text-strong);
	background: var(--ad-accent-soft);
}

.p-nav-sublist {
	margin-left: -12px;
}

/* специфичность как у правил из раздела 5, чтобы вторая строка была компактнее */
#panel .p-nav-secondary ul.p-nav-sublist > li > a {
	padding: 10px 12px;
	font-size: 13px;
	color: var(--ad-muted);
}

.p-nav-sublist--right {
	margin-left: auto;
}

.p-navgroup {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
}

.p-navgroup-link {
	display: inline-flex;
	align-items: center;
	padding: 8px 10px;
	font-size: 13px;
	color: var(--ad-text);
}

.p-navgroup-link:hover {
	color: var(--ad-link-hover);
}

.p-navgroup-link--logIn {
	color: var(--ad-link);
	font-weight: 600;
}

.p-navgroup-link--user {
	font-weight: 600;
	color: var(--ad-text-strong);
}

.p-navgroup-link--register {
	margin-left: 4px;
	padding: 8px 12px;
	font-weight: 600;
	color: #fff;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border: 1px solid var(--ad-accent-dark);
	border-radius: var(--ad-radius);
	text-shadow: 0 1px 0 rgba(0, 0, 0, .30);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

.p-navgroup-link--register:hover {
	color: #fff;
	filter: brightness(1.12);
}

/* поле быстрого поиска в шапке */
.p-quickSearch {
	margin: 0;
	display: flex;
	align-items: center;
}

.p-quickSearch-field {
	display: flex;
	align-items: center;
	border: 0;
	padding: 0;
	margin: 0;
	min-inline-size: 0;
}

/* --- Хлебные крошки: .p-breadcrumbs --- */
.p-breadcrumbs {
	display: block;
	padding: 10px 15px;
	margin-bottom: 20px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ad-muted);
	background: var(--ad-bg-soft);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow-soft);
}

.p-breadcrumbs-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-breadcrumbs-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
}

.p-breadcrumbs-item > a,
.p-breadcrumbs a {
	margin-right: 0;
	color: var(--ad-link);
}

.p-breadcrumbs-item > a:hover {
	color: var(--ad-link-hover);
}

.p-breadcrumbs-item::after {
	content: "\203A";
	margin: 0 8px;
	color: var(--ad-faint);
}

.p-breadcrumbs-item.is-active::after {
	display: none;
}

.p-breadcrumbs-item.is-active > span {
	color: var(--ad-text);
	font-weight: 700;
}

/* --- Блоки: .block --- */
.block {
	margin-bottom: 20px;
}

.block-container {
	background: var(--ad-block);
	border: 1px solid var(--ad-border);
	border-radius: var(--ad-radius);
	box-shadow: var(--ad-shadow-soft);
}

.block-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 10px;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ad-text-strong);
	background-color: var(--ad-block-head);
	background-image: linear-gradient(180deg, #222222 0%, #191919 100%);
	border-bottom: 1px solid var(--ad-border);
	border-radius: 3px 3px 0 0;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .45);
}

.block-header > .expcolimage {
	float: none;
	order: 2;
	margin: 0 0 0 auto;
}

.block-body {
	padding: 0;
}

.block-footer {
	padding: 6px 10px;
	font-size: 12px;
	color: var(--ad-muted);
	border-top: 1px solid var(--ad-border);
}

.block--category .block-header {
	font-size: 17px;
}

.p-categoryTitle {
	font-size: 17px;
	color: var(--ad-text-strong);
}

.p-categoryDesc {
	margin-left: 8px;
	font-size: 13px;
	font-weight: 400;
	color: var(--ad-muted);
}

.p-widget-table {
	width: 100%;
}

.p-widget-table td {
	padding: 8px 10px;
	font-size: 13px;
	line-height: 1.5;
	vertical-align: middle;
}

/* --- Узлы форума: .node --- */
.p-node-table {
	width: 100%;
	table-layout: fixed;
}

.node-cell {
	padding: 0;
	border-bottom: 1px solid var(--ad-border);
}

.node:last-child > .node-cell {
	border-bottom: 0;
}

.node-body {
	display: flex;
	align-items: center;
	width: 100%;
}

.node-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	padding-left: 10px;
}

.node-main {
	flex: 1 1 auto;
	min-width: 0;
	padding: 10px;
}

.node-title {
	margin: 0;
	padding: 0;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.3;
}

.node-title > a {
	color: var(--ad-link);
}

.node-title > a:hover {
	color: var(--ad-link-hover);
}

.node--on .node-title > a {
	font-weight: 700;
}

.uix_newIndicator {
	display: none;
	vertical-align: middle;
	margin-left: 8px;
	padding: 1px .4em;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	color: #fff;
	background-color: var(--ad-accent);
	background-image: var(--ad-gradient);
	border-radius: var(--ad-radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}

.node--on .uix_newIndicator {
	display: inline-block;
}

.node-meta {
	font-size: 13px;
	color: var(--ad-muted);
}

.node-description {
	font-size: 13px;
	line-height: 1.4;
	color: var(--ad-muted);
}

.node-moderators {
	font-size: 12px;
	color: var(--ad-faint);
}

.node-subNodesFlat {
	font-size: 13px;
	line-height: 1.5;
	color: var(--ad-muted);
}

.node-subNodesFlat > br {
	display: none;
}

.node-stats {
	display: flex;
	flex: 0 0 140px;
	width: 140px;
	padding: 10px 0;
	text-align: center;
}

.node-stats .pairs {
	flex: 1 1 50%;
	width: 50%;
	margin: 0;
	padding: 0 3px;
	overflow: hidden;
}

.node-stats dt {
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.26;
	color: var(--ad-muted);
}

.node-stats dd {
	margin: 2px 0 0;
	font-size: 15px;
	color: var(--ad-text-strong);
}

.node-extra {
	flex: 0 0 280px;
	width: 280px;
	padding: 10px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--ad-muted);
}

.node-extra-title a {
	font-size: 13px;
	font-weight: 700;
	color: var(--ad-link);
}

.node-extra-title a:hover {
	color: var(--ad-link-hover);
}

.node-extra-user::before {
	content: "\00B7";
	margin: 0 6px;
	color: var(--ad-faint);
}

/* аватар последнего автора (появляется, если установлен плагин avangarddark) */
.node-extra-icon {
	float: left;
	padding-right: 10px;
}

.node-extra-icon .node-extra-avatar {
	display: block;
}

.node-extra-icon img {
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 50%;
	background: var(--ad-block-alt);
}

.node-extra-rows {
	overflow: hidden;
}

/* --- Список тем: .structItem --- */
.p-thread-table {
	width: 100%;
	table-layout: fixed;
}

.p-sortBar-row > td {
	padding: 7px 10px;
	font-size: 12px;
	color: var(--ad-muted);
	background-color: var(--ad-block-head);
	border-bottom: 1px solid var(--ad-border);
}

.p-sortBar-row a {
	color: var(--ad-muted);
}

.p-sortBar-row a:hover {
	color: var(--ad-link-hover);
}

.p-sortBar-item {
	width: 70px;
	text-align: center;
}

.p-sortBar-item--last {
	width: 190px;
	text-align: right;
}

.structItem-cell {
	vertical-align: middle;
	padding: 10px 8px;
	border-bottom: 1px solid var(--ad-border);
}

.structItem-cell--status {
	width: 46px;
	padding: 10px 0 10px 10px;
	text-align: center;
}

.structItem-cell--icon {
	width: 22px;
	text-align: center;
}

.structItem-cell--main {
	font-size: 15px;
}

.structItem-title {
	font-size: 17px;
	line-height: 1.3;
}

.structItem-title > a,
.structItem-title span > a {
	color: var(--ad-link);
}

.structItem-title a:hover {
	color: var(--ad-link-hover);
}

.structItem-minor {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ad-muted);
}

.structItem-sep::before {
	content: "\00B7";
	margin: 0 5px;
	color: var(--ad-faint);
}

.structItem-cell--replies,
.structItem-cell--views {
	width: 70px;
	text-align: center;
	font-size: 13px;
	color: var(--ad-muted);
}

.structItem-cell--latest {
	width: 190px;
	text-align: right;
	font-size: 12px;
	color: var(--ad-muted);
}

.label {
	display: inline-block;
	padding: 1px .4em;
	border-radius: var(--ad-radius);
	font-size: 11px;
	line-height: 1.3;
	font-weight: 600;
}

.label--sticky {
	display: none;
	vertical-align: middle;
	margin-right: 6px;
	color: #fff;
	background: var(--ad-amber);
}

.inline_row.sticky .label--sticky {
	display: inline-block;
}

.p-thread-table tr.inline_row:hover > td {
	background-color: var(--ad-hover);
}

/* --- Сообщения: .message --- */
.message-inner {
	display: flex;
}

.message-inner::after {
	content: "";
	display: table;
	clear: both;
}

.message-cell--user {
	flex: 0 0 140px;
	min-width: 0;
}

.message-cell--main {
	flex: 1 1 auto;
	min-width: 0;
}

.message-name {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.message-userTitle {
	font-size: 12px;
	line-height: 1.5;
	color: var(--ad-muted);
}

.message-userBanner,
.message-userExtras {
	font-size: 12px;
}

/* --- Главная страница: колонка контента + сайдбар --- */
.p-body-index {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--ad-sidebar);
	align-items: start;
	column-gap: 20px;
}

.p-body-main {
	min-width: 0;
}

.p-body-sidebar {
	min-width: 0;
}

/* при разметке из шаблонов старый :has()-хак для сайдбара отключается */
.wrapper:has(#boardstats_e):has(.p-body-index) {
	display: block;
}

/* --- Контрольные точки --- */
@media (max-width: 1000px) {
	.node-stats {
		flex-basis: 116px;
		width: 116px;
	}

	.node-extra {
		flex-basis: 200px;
		width: 200px;
	}
}

@media (max-width: 900px) {
	.p-body-index {
		display: block;
	}

	.p-nav-list > li > a {
		padding: 10px 10px;
		font-size: 14px;
	}
}

@media (max-width: 650px) {
	.node-body {
		flex-wrap: wrap;
	}

	.node-main {
		flex: 1 1 180px;
	}

	.node-extra {
		flex: 1 1 100%;
		width: 100%;
		padding: 0 10px 10px 56px;
	}

	.p-nav-list > li > a {
		padding: 8px 8px;
		font-size: 13px;
	}

	.message-cell--user {
		flex: 0 0 48px;
		padding: 10px 8px;
	}

	.message-cell--user .author_avatar img {
		width: 48px;
		height: 48px;
	}
}

@media (max-width: 480px) {
	.node-stats {
		display: none;
	}
}
/* Скрыть ссылку «Режим без графики» в футере */
a[href*="action=arkmode"], 
a[href*="mode=linear"] {
    display: none !important;
}

















