#loading-layer { background: #000; padding: 10px; text-align: center; color: #fff; border-radius: 2px }

#loading-layer.withouttext {
    background: rgb(0 0 0 / 60%);
    padding: 5px 5px 0px 5px;
    text-align: center;
    color: #fff;
    border-radius: 50%;
}

#loading-layer.withtext {
	padding: 10px;
    background: rgb(0 0 0 / 60%);
    color: #fff;
    border-radius: 5px;
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);
}

.scriptcode, .title_quote,
	.title_spoiler, .text_spoiler, .quote { padding: 10px; background: #fff; border: 1px solid #dde4ea; }

	.title_quote { border-left: 2px solid #e85319; border-bottom: 0; margin-top: 2px; font-weight: bold; }
	.quote, blockquote { border-left: 2px solid #e85319;}
	.quote_block {margin-bottom: .7rem;}
	.title_spoiler { margin-top: 2px; }
	.title_spoiler img { vertical-align: middle; margin: -1px 0 0 !important }
	.scriptcode { color: #4c6d0f; text-align: left; font-family: "Courier New" }
	.title_spoiler { font-weight: normal; }
	.text_spoiler { margin-bottom: 2px; border-top: 0; display: none;}

	.hide { background-color: #f0f0f0; padding: 5px; color: #4c6d0f; margin: 0 0 1em 0 }
	.hide a { text-decoration: underline; } .hide a:hover { text-decoration: none }

.sort { list-style: none; padding: 0; margin: 0; }
	.sort > li, .sort { display: inline; }
	.sort > li { margin: 0 0 0 3%; }
	.sort > li a { color: #353535; }
	.sort > li.asc a, .sort > li.desc a { color: #3394e6; }
	.sort > li.asc a:after, .sort > li.desc a:after {
		content: "";
		background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAsBAMAAACj90TiAAAAG1BMVEUAAAAzlOYzlOYzlOYzlOYzlOYzlOYzlOYzlOar6gzlAAAACHRSTlMAjesv90eHRuQt1XUAAABSSURBVBjTzdCxDQAhDENRSyzAEFdQ0zDB9axEgzw2DokEI1A9/S4OyAxADEcpPGlpFKWoSpEKp0Dlb6SvG2jY4Fka4tw4PqbEsDNTcb8gn/d4LPQHQDdjhblbAAAAAElFTkSuQmCC);
		display: inline-block;
		vertical-align: middle;
		margin: -1px 0 0 .4em;
		width: 6px; height: 11px;
		-webkit-background-size: 6px auto; background-size: 6px auto;
	}
	.sort > li.asc a:after { background-position: 0 -11px; }

.calendar { width: 100%; text-align: center; }
.calendar tr td, .calendar tr th { padding: 3px; }
	.calendar tr td a { color: inherit; font-weight: bold; }
	.calendar tr td { padding: 5px 3px; }
	.calendar tr td.weekday { color: #ea5f24; }
	.calendar tr th { background-color: #fff; font-weight: bold; text-transform: uppercase; }
	.calendar tr th.weekday { background-color: #ea5f24; color: #fff; }
	.calendar tr th.monthselect { background-color: transparent; color: #b8b8b8; padding-bottom: 15px; }
	.calendar tr th.monthselect a { color: #b8b8b8; }

.voteprogress, .pollprogress {
	overflow: hidden;
	height: 6px;
	margin-bottom: 10px;
	background-color: #fff;
	border-radius: 3px;
	margin-top: 6px;
}
	.voteprogress span, .pollprogress span {
		text-indent: -9999px;
		height: 6px;
		display: block;
		overflow: hidden;
		background: #3394e6;
	}
	.voteprogress .vote2, .pollprogress .poll2 { background-color: #dd514c; }
	.voteprogress .vote3, .pollprogress .poll3 { background-color: #5eb95e; }
	.voteprogress .vote4, .pollprogress .poll4 { background-color: #4bb1cf; }
	.voteprogress .vote5, .pollprogress .poll5 { background-color: #faa732; }

.rating, .unit-rating { width: 115px; height: 23px; }
	.rating { font-size: 11px; }
	.unit-rating, .unit-rating li a:hover, .unit-rating li.current-rating {
		background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAACKBAMAAAAnGmX8AAAALVBMVEX///+RkZH+12L/w0//7cP/5aj+24X/+u7/9d2tra3Jycne3t7/zGn5+fnx8fHkdmbhAAACEUlEQVRIx+2UuUsDQRTGF+8bp4yiyKDRUhiNFikW73LxwsIiRETL4F2KilpYmFYQklIE0VYbIQQsY2kjWkbwfzDjzvhm3rzCJiCSr1p+SfY7HsT7w2rYp3ltQPO6HpqPDdA8GSVxPeckr+HcJ205T1D8gHPSeJbzPopz7hrvnk4sSL4wcboLdIpb6v0ZxuY+LGB/HRY2ubn2MeB1a5ukxtEUGkEp4bSVchtvhLzfORaE/NV7VCDnlFzJPSKPJmEcczpffhg4x13zvB2nVxXvDdP2oKNHU+FOAyi+r/xRgWn9sOVVRKv8/ycJmlc/0nx8iOYrMRLXC5EibYUIKN4iBGl8KMQoaSsEaZwTIo7Z3tHkoihpdX7mBOiysJSHhJYCWMDExho1JjfXPgP8ZG2T0zhub7SjecJpK+U23gz5iHMsHRJpLuTDzmoqjnNEJRXTbByTv/Gd48YD+WHgHHddtsMnrhb5MO0gih/b/7ZfQQWWA+WPCizph22vojKr7Y3mTec0L7bT/K6T5ukIbctYgbRlLEPxRsbOSVvGuimeZYw0ZiVh9vpwfyX5xfXDJ1CJDHVAQlOQtvXOxMYazSa/9UDvGqIOrWmNI/ZxXjS/xCOrjHjSZ3g7Wg1CmsZZ6Eq9P1LAR1RCXDaOpKGtOV2mGUaD48pGRXliFL8jTNuF4odB2tKoQDaj/FGBG/3w4f0LfQHtX5JXyZBVcwAAAABJRU5ErkJggg==);
		-webkit-background-size: 23px auto; background-size:  23px auto;
	}
	.unit-rating {
		list-style: none;
		margin: 0; padding: 0;
		position: relative;
		background-position: 0 -46px;
	}
	.unit-rating li {
		text-indent: -90000px;
		padding: 0; margin: 0;
		float: left;
	}
	.unit-rating li a {
		display: block;
		width: 23px; height: 23px;
		text-decoration: none;
		border: 0 none !important;
		text-indent: -9000px;
		z-index: 17;
		position: absolute;
		padding: 0;
	}
	.unit-rating li a:hover {
		background-position: 0 -23px;
		z-index: 2;
		left: 0;
	}
	.unit-rating a.r1-unit { left: 0; }
	.unit-rating a.r1-unit:hover { width: 23px; }
	.unit-rating a.r2-unit { left: 23px; }
	.unit-rating a.r2-unit:hover { width: 46px; }
	.unit-rating a.r3-unit { left: 46px; }
	.unit-rating a.r3-unit:hover { width: 69px; }
	.unit-rating a.r4-unit { left: 69px; }
	.unit-rating a.r4-unit:hover { width: 92px; }
	.unit-rating a.r5-unit { left: 92px; }
	.unit-rating a.r5-unit:hover { width: 115px; }
	.unit-rating li.current-rating {
		background-position: 0 0;
		position: absolute;
		height: 23px;
		display: block;
		text-indent: -9000px;
		z-index: 1;
		padding: 0px;
	}

	.ratingplus {
		color: #70bb39;
	}

	.ratingminus {
		color: red;
	}

	.ratingzero {
		color: #6c838e;
	}

.userstop td, .pm td.pm_list, .pm th.pm_head { border-bottom: 1px solid #efefef; padding: .833em .555em; }
	table.pm, table.userstop { width: 100%; margin-bottom: 0; }
	table.pm select { width: 13.194em; }
	.userstop thead td, .pm td.pm_head { border-bottom: 1px solid #efefef; font-weight: bold; }
	table.pm .navigation { border-top-width: 0; margin: 0; }

.pm th{
    text-align: left;
    font-weight: 500;
    white-space: nowrap;
}
.pm th.pm_checkbox {
	text-align: center;
}
.pm_list.pm_subj, .pm_list.pm_icon, .pm_list.pm_last_user {
 cursor: pointer;
}
.pm_list.pm_icon svg {
	width: 1.555em;
	height: 1.555em;
	vertical-align: middle;
}

.pm_list.pm_icon.pm-unread-image {
 color: #3394e6;
}
.pm td.pm_list.pm_icon, .userstop td, th.pm_head.pm_icon {
	border-bottom: none;
}
.pm_list.pm_icon.pm-reply-image {
	color: #087e02c4;
}
.pm_list.pm_icon.pm-read-image {
	color: #afafaf;
}

.pm_list .pm_last_message, .pm_list .pm_last_date, .pm_list .pm_with_user {
	color: #64748b;
	font-size: calc(var(--font-size-lg) * .8);
}
.pm tbody > tr:hover {
    background-color: #e2e8f099;
}
.pm_navigation {
	margin-top: .9em;
}
.pm_navigation .navigation {
	display: inline-block;
	color: #333333;
	background-color: #f5f5f5;
	border-radius: 0.209em;
	padding: .444em;
}

.pm_navigation .navigation a, .pm_navigation .navigation span {
    padding: 0.555em;
    min-width: 2.25rem;
}
.pm_navigation .navigation span {
    background-color: #4581d0;
    color: #fff;
}
.pm_navigation .navigation a {
    text-decoration: none;
    color: #000;
}
.pm_navigation .navigation a:hover {
    background-color: #e2e8f0;
}
#dropmenudiv { padding: .73em 0; min-width: 10.18em; width: auto !important; font-size: var(--font-size-sm);
		box-shadow: 0 8px 40px -10px rgba(0,0,0,0.3); border: 1px solid #e6e6e6; border-color: rgba(0,0,0,0.1); background-clip: padding-box;
	}
	#dropmenudiv { background-color: #fff; }
	#dropmenudiv a { text-decoration: none !important; color: inherit; display: block; padding: 3px 20px; border: 0 none; white-space: nowrap; color: inherit; }
	#dropmenudiv a:hover { background-color: #eeeeef; }

#searchsuggestions {
	z-index: 2200;
	width: 23.15em;
	border-radius: 2px;
	background: #fff;
	box-shadow: 0 8px 40px -10px rgba(0,0,0,0.3);
	border: 1px solid #ddd; border-color: rgba(0,0,0,0.2);
	background-clip: padding-box;
	font-size: .9em;
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
	}
	#searchsuggestions a, #searchsuggestions span.notfound { padding: 15px 25px; display: block; text-decoration: none; border-bottom: 1px solid #e5e5e5; }
	#searchsuggestions a { color: inherit; }
	#searchsuggestions a:hover { background-color: #f7f7f7; }
	#searchsuggestions a span { display: block; cursor: pointer; }
	#searchsuggestions span.searchheading { display: block; font-weight: bold; margin-bottom: .2em; }
	#searchsuggestions span.seperator { display: block; }
	#searchsuggestions span.seperator a { padding: 10px 0; text-align: center; border: 0 none; background-color: transparent; color: #919191; }
	#searchsuggestions span.notfound { padding: 15px 25px; display: block; }
	#searchsuggestions .break { display: none; }

.ui-front { z-index: 1000; }
.ui-widget-overlay {
	background: #000;
	opacity: 0.5;
	left: 0; top: 0; right: 0; bottom: 0;
	position: fixed;
	}
	.ui-helper-clearfix:after { clear: both; content: "."; display: block; height: 0; visibility: hidden }
	.ui-helper-clearfix { display: inline-block }
	* html .ui-helper-clearfix { height: 1% }
	.ui-helper-clearfix { display: block }
	.ui-dialog {
		text-align: left;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 370px;
		border-radius: .58em;
		box-shadow: 0 .555em 2.78em -.694em rgba(0,0,0,0.3);
		background-color: #f7f7f7;
		background-clip: padding-box;
		outline: none;
	}
	.ui-dialog-titlebar { 
		padding: .694em 1.04em; 
		position: relative;
		background-color: #517fa4 !important;
    color: #fff;

	}
	.ui-dialog-title { float: left; font-weight: 600; text-shadow: 0 1px #333;}
	.ui-dialog-titlebar-close {
		position: absolute;
		right: .694em; top: 50%;
		margin-top: -1.11em !important;
		height: 1.597em !important;
		width: 2.22em;
		border: 0 none !important;
		background-color: inherit !important;
		box-shadow: none !important;
		padding: 0px !important;
	}
	.ui-dialog-titlebar-close .ui-icon {
		display: block;
    	margin: 0.56em auto 0 auto;
    	width: 0.75em;
    	height: 0.75em;
    	opacity: .5;
    	font-weight: 600;
    	font-size: var(--font-size-lg);
    	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
	}

	.ui-dialog-titlebar-close span.ui-button-text {
    	display: block;
    	margin: 0.56em auto 0 auto;
    	width: 0.75em;
    	height: 0.75em;
   		background-size: .694em auto;
    	background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
    	text-indent: -9999px;
    	opacity: .5;
	}

	.ui-dialog-titlebar-close span.ui-button-text:hover {
		opacity: 1;

	}

	.ui-button {
		font-size: var(--font-size-sm);
		border: 0 none;
		vertical-align: middle;
		cursor: pointer;
		border-radius: .58em;
		outline: none;
		background-color: #517fa4;
		color: #fff;
		border: 0 none;
		padding: .58em 1.38em;
		text-decoration: none !important;
		box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
		box-sizing: border-box;
		-webkit-transition: all ease .1s; transition: all ease .1s;
		text-shadow: 0 1px #333;
	}
	.ui-dialog-titlebar-close:hover .ui-icon { opacity: 1; }
	.ui-icon, .ui-button-icon-only { overflow: hidden; text-indent: -9999px; }
	.ui-dialog label { color: #575757; }
	.ui-dialog-content { padding: 1em; border: 1px solid #fff; overflow: auto; position: relative; zoom: 1; }
	.loginbox.ui-dialog, .loginbox .ui-dialog-content { overflow: visible !important; }
	.ui-dialog-content h2 { display: inline; font-size: 1em; font-weight: bold }
	.ui-dialog .ui-dialog-buttonpane { padding: .694em 1em; text-align: right; }
	.ui-draggable .ui-dialog-titlebar { cursor: move; }
	.ui-state-error { background: #fef1ec 50% 50% repeat-x !important; border: 1px solid #cd0a0a; color: #cd0a0a; }
	.ui-button { margin: 0 3px; }
	.ui-helper-hidden-accessible{display: none;}

	.ui-button:hover { background-color: #5e91bb; }

	.ui-dialog-buttonset button:last-child {
			background-color: #0c5f7eed;
			color: #fff;
	}
	.ui-dialog-buttonset button:last-child:hover {
		background-color: #0c5f7ebf;
	}

	.ui-dialog-buttonset button:first-child {
	  background-color: #888;
	  border-color: #888;
	  color: #fff;
	}
	.ui-dialog-buttonset button:first-child:hover {
		background-color: #888888c7;
	}
	.ui-dialog-buttonset button.ui-button-delete {
		background-color: #f44336;
	    border-color: #f44336;
	    color: #fff;
	    text-shadow: 1px 1px 2px rgba(51, 51, 51, .5);
	}
	.ui-dialog-buttonset button.ui-button-delete:hover {
		background-color: #db3a2f;
	    border-color: #db3a2f;
	    color: #fff;
	    text-shadow: 1px 1px 2px rgba(51, 51, 51, .5);
	}
.tox .tox-dialog__footer .tox-button--secondary {
    background-color: #888 !important;
    border-color: #888 !important;
    color: #fff !important;
}

.tox .tox-button {
    background-color: #0c5f7eed !important;
    border-color: #0c5f7eed !important;
}

.dle-popup-userprofileadmin .ui-button-delete {
	float: left;
}

.dle-popup-userprofileadmin .ui-dialog-buttonset button:nth-child(2) {
	background-color: #868e96;
}

.ui-autocomplete { position: absolute; cursor: default; }

.ui-menu {
	list-style:none;
	padding: 2px; margin: 0;
	float: left;
	background: #fff 50% bottom repeat-x;
	border: 1px solid #dedede;
	color: #353535;
}
.ui-menu .ui-menu { margin-top: -3px; }
.ui-menu .ui-menu-item { margin:0; padding:.2em .4em; cursor: pointer; width: 100%; }

.bb-editor textarea { 
    -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
    padding: 7px; border: 1px solid #d7d7d7; width: 100%; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	margin-top: -1px;
	outline: none;
}

.bb-editor textarea:focus{
		border-color: #d7d7d7 !important;
}
	
	.emoji_box {
		width:100%;
		max-width: 390px;
	}
	.emoji_category {
		padding:7px;
		clear:both;
	}
	.emoji_list {
		margin-top:5px;
		margin-bottom:5px;
		width:100%;
		font-family:'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols';
		font-size:2em;
	}
	.emoji_symbol {
		float:left;
		margin-bottom: 10px;
		width:12.5%;
		text-align:center;
	}
	
	.emoji_symbol a,  .emoji_symbol a:hover {
		cursor: pointer;
		text-decoration:none;
	}
	
.quick-edit-text { padding: .4em; width: 350px; }
	.quick-edit-textarea {
		height: 250px; padding: 2px;
		border: 1px solid #d7d7d7;
		width: 100%;
		box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
		-webkit-transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
		transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	}

#dlefastreplycomments {
	padding: 0 4% 10px 4%;
}
#dle-comments-list > .comments-tree-list > li .comments-tree-list > li #dlefastreplycomments { padding: 0 0 10px 0; }

#marker-bar,
	#txtselect_marker {
		display: block;
		visibility: hidden;
		position: absolute;
		z-index: 1200;
		opacity: 0;
		-webkit-transition: opacity .4s, visibility .1s linear .4s;
		transition: opacity .4s, visibility .1s linear .4s;
	}
	#txtselect_marker {
		cursor: pointer;
		background:url(../dleimages/marker.png) no-repeat 0 0;
	}
	#txtselect_marker:hover { background-position: 0 -32px; }
	#marker-bar{
		border: 1px solid #ccc;
		border-radius: 15px;
		background: #fff;
		padding: 5px 10px;
		cursor: default;
		box-shadow: 0 0 4px #ccc; -webkit-box-shadow: 0 0 4px #ccc;
	}
	#marker-bar.show {
		-webkit-transition: opacity .4s, visibility 0s;
		transition: opacity .4s, visibility 0s;
		opacity: 1;
		visibility: visible;
	}
	#txtselect_marker.show {
		visibility: visible;
		width: 32px; height: 32px;
		-webkit-transition: opacity .4s, visibility 0s;
		transition: opacity .4s, visibility 0s;
		opacity: 1;
	}
	#marker-bar .masha-social,
	#marker-bar .masha-marker{
		cursor: pointer;
		display: block;
		margin: 0 5px;
		float: left;
	}
	#marker-bar .masha-marker{
		line-height: 1em;
		color: #aaa;
		border-bottom: 1px dotted #aaa;
		margin-right: 10px;
	}
	#marker-bar .masha-marker:hover {
		color: #ea3e26;
		border-color: #ea3e26;
	}
	.user_selection, .user_selection_true {
		background: #fff5d5;
		padding: 2px 0;
	}
	.user_selection a.txtsel_close,
	.user_selection_true a.txtsel_close { display: none; }
	.user_selection .closewrap, .user_selection_true .closewrap { position: relative; }
	.user_selection.hover a.txtsel_close, .user_selection_true.hover a.txtsel_close {
		display: inline-block;
		position: absolute;
		top: -7px; left: -5px;
		width: 33px; height: 33px;
		background: url(../dleimages/closemarker.png) 0 0 no-repeat;
	}
	.user_selection.hover a.txtsel_close:hover,
	.user_selection_true.hover a.txtsel_close:hover { background-position: -0px -33px; }

	#share-popup {
		border: 1px solid #e6e6e6; border-color: rgba(0,0,0,0.1);
		border-radius: 2px;
		background: #fff;
		position: absolute; z-index: 100;
		width: 414px;
		display: none;
		padding: 20px 0;
		opacity: 0;
		box-shadow: 0 8px 40px -10px rgba(0,0,0,0.3);
		background-clip: padding-box;
		-webkit-transition: opacity .4s, visibility .1s linear .4s;
		transition: opacity .4s, visibility .1s linear .4s;
	}
	#share-popup.show {
		display: block; opacity: 1;
		-webkit-transition: opacity .4s, visibility 0s;
		transition: opacity .4s, visibility 0s;
	}
	#share-popup .social { padding: 0 0 10px 17px; }
	#share-popup .social p { padding-bottom: 10px; margin: 0; font-weight: bold;}
	#share-popup .social ul { list-style: none; margin: 0; padding: 0; }
	#share-popup .social ul li { display: inline; margin-right: 20px; padding-top: 2px; }
	#share-popup .social ul a {
		text-decoration: none;
		font-size: 12px;
		display: inline-block;
		color: #919191;
	}
	#share-popup .social ul a:hover { text-decoration: underline; }
	#share-popup .social a span {
		cursor: pointer;
		width: 20px; height: 20px;
		background: url(../dleimages/social-icons.png) 20px 20px no-repeat;
		display: inline-block;
		vertical-align: middle;
		margin: -3px 5px 0 0;
	}
	#share-popup .social .tw span { background-position: 0 -20px; }
	#share-popup .social .tw:hover span { background-position: 0 0; }
	#share-popup .social .fb span { background-position: -20px -20px; } 
	#share-popup .social .fb:hover span { background-position: -20px 0; }
	#share-popup .social .vk span{ background-position: -40px -20px; }
	#share-popup .social .vk:hover span { background-position: -40px 0; }
	#share-popup .social .gp span{ background-position: -60px -20px; }
	#share-popup .social .gp:hover span { background-position: -60px 0; }
	#share-popup .link {
		clear: both;
		border-top: 1px solid #d9d9d9;
		padding: 10px 5px 0 10px;
		line-height: 1.2;
		overflow: hidden;
		margin: 0 7px;
	}
	#share-popup .link p {
		font-weight: bold;
		padding: 0 0 3px 0;
		margin: 0;
	}
	#share-popup .link span {
		color: #999;
		font-size: 10px;
		display: block;
		padding-top: 3px;
	}
	#share-popup .link a { display: block; }
	.dle-alert, .dle-confirm, .dle-promt { padding: 20px 1em !important; }

select, textarea, input[type="text"], input[type="password"], input[type="file"],
input[type="datetime"], input[type="datetime-local"], input[type="date"],
input[type="month"], input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"], input[type="tel"],
input[type="color"] {
	display: inline-block;
	width: 302px;
	padding: 6px;
	vertical-align: middle;
	border-radius: 3px;
	background: #fff;
	border: 1px solid #d7d7d7;
	-webkit-transition: border 0.2s linear 0s; transition: border 0.2s linear 0s;
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

select {
		width: auto;
    padding: .35rem 2.2rem .35rem .65rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    appearance: none;
}

select[multiple] {
    padding-right: .75rem;
    background-image: none;
}

	textarea { margin: 0; overflow: auto; vertical-align: top; resize: vertical; }
	textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus,
	input[type="file"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus,
	input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus,
	input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus,
	input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
	input[type="color"]:focus, .uneditable-input:focus {
		border-color: #109aceed;
	}
	input[type="file"], input[type="image"],
	input[type="submit"], input[type="reset"],
	input[type="button"] { width: auto; }
	input[type="search"] {
		-webkit-box-sizing: content-box;
		-moz-box-sizing: content-box;
		box-sizing: content-box;
	}
	input[type="search"]::-webkit-search-cancel-button,
	input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
	select[multiple], select[size], textarea { height: auto; }
	input::-moz-placeholder, textarea::-moz-placeholder, input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { opacity: 0.6; }

	input:focus { outline: none; }
	input[type="file"], input[type="image"] { padding: 0; border-width: 0; background-color: transparent; }
	.wide, .bb-editor textarea, .ui-dialog textarea, select#category, .timezoneselect, .twofactorselect, .quick-edit-text { width: 100%!important;}
	select#category {max-width: 24.31em !important;height: 9.72em !important;}
	#searchuser, #searchinput { width: 100% !important; margin-bottom: 10px; }

	.form_submit .c-captcha { float: right; }
	.c-captcha { position: relative; }
	.c-captcha:after { clear: both; display: block; content: ""; }
	.c-captcha > a { float: left; margin-right: 5px; }
	.c-captcha img {
		position: relative;
		display: block;
		width: 9.03em; height: 3.194em;
		z-index: 1;
		-webkit-transition: all ease .2s; transition: all ease .2s;
	}
	.c-captcha > input { float: left; width: 9.03em; height: 3.194em;}

	.dle-captcha { position: relative; }
	.dle-captcha:after { clear: both; display: block; content: ""; }
	.dle-captcha > a { float: left; margin-right: 5px; }
	.dle-captcha img {
		position: relative;
		display: block;
		width: 9.03em; height: 3.194em;
		-webkit-transition: all ease .2s; transition: all ease .2s;
	}
	.dle-captcha > input { float: left; width: 9.03em; height: 3.194em; }

.btn, .bbcodes, .btn-border {
	border: 0 none;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	border-radius: 0.55em;
	outline: none;
	background-color: #0c5f7eed;
	color: #fff;
	text-shadow: 0 1px #333;
	border: 0 none;
	padding: .486em 1.528em;
	text-decoration: none !important;
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
	box-sizing: border-box;
	transition: all ease .1s; transition: all ease .1s;
}
	.btn > .icon { fill: #fff; }
	.btn-white > .icon { fill: #0c5f7eed; }
	.btn-white { background-color: #fff; color: #0c5f7eed; }
		.btn-white:hover > .icon { fill: #fff; }
		.btn-white:hover { background-color: #0c5f7eed; color: #fff; }
	.btn:hover, .bbcodes:hover { background-color: #0c5f7ebf; }

.bbcodes.cancelchanges {
	background-color: #888;
}
.bbcodes.cancelchanges:hover {
	background-color: #888888c7;
}

	.btn-big { padding: .833em 1.875em; border-radius: .694em; }

	.btn-border {
		color: #0c5f7eed;
		border: 2px solid #0c5f7eed;
		line-height: 1.528em;
		padding: .555em 1.389em;
		background-color: transparent !important;
		overflow: hidden;
		box-shadow: inset 0 0 0 0 transparent;
		text-shadow: none;
	}

	.btn-border.btn-big{
		padding: .694em 1.389em;
	}

table.xfields {
	width: 100%;
}
.xfields textarea, .xprofile textarea {
    width: 100%;
    height: 12.92em;
    margin-top: .555em;
}
.xfields input[type="text"] {
	width: 100%;
}

.xfieldsdescr {
	width: 13.89em;
}
.xfields .bb-pane + textarea {
    margin-top: 0px;
}
.xfieldsnote {
	color: #838383;
    font-size: .9em;
}

.xfields_table td {
    vertical-align: top;
}
.xfieldsrow {
	padding-top:10px;
	clear: both;
}
.xfieldscolleft {
	float: left;
	width: 30%;
	padding-top: 6px;
}
.xfieldscolright {
	float: left;
	width: 70%;
}
.file-box {
	width: 95%;
	max-width: 437px;
	border:1px solid #B3B3B3;
	-moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;
	background-color: #F5F5F5;
	padding: 10px;
	margin-top: 10px;
}

.xfieldimagegallery, .comments-image-gallery {
  margin: 0;
  padding: 0;  
  list-style: none;
  clear: both;
}

.xfieldimagegallery li, .comments-image-gallery li{
	list-style: none;
	margin: 0;
	padding: 0;  
}

.xfieldimagegallery li img, .comments-image-gallery li img{
  float: left;
  margin-right: 5px;
  border: 5px solid #fff;
  width: 100px;
  height: 100px;
  transition: box-shadow 0.5s ease;
}

.xfieldimagegallery li img:hover, .comments-image-gallery li img:hover {
  box-shadow: 0px 0px 7px rgba(0,0,0,0.4);
}

.qq-uploader { position:relative; width: 100%;}

.qq-upload-button {
    display:inline-block;
    margin-top:5px;
    margin-bottom:5px;
	cursor:pointer;
}
.qq-upload-drop-area {
    position:absolute; top:0; left:0; width:100%; height:100%; z-index:2;
	max-width: 437px;
    background:#FF9797; text-align:center; 
}
.qq-upload-drop-area span {
    display:block; position:absolute; top: 50%; width:100%; margin-top:-8px; font-size:16px;
}

.qq-upload-drop-area-active {background:#FF7171;}

.qq-upload-file{ margin-left:.555em; margin-right:.555em; }

.sortable-ghost {
	opacity: 0.4;
}

.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    cursor:not-allowed;
    pointer-events:none;
    opacity:0.65;
    filter:alpha(opacity=65);
    -webkit-box-shadow:none;
    box-shadow:none;
}

.progress {
    overflow:hidden;
    margin-top:10px;
	margin-bottom:10px;
    background-color:whitesmoke;
    height:10px;
    -webkit-border-radius:8px;
    -moz-border-radius:8px;
    -ms-border-radius:8px;
    -o-border-radius:8px;
    border-radius:8px;
    background:#eee;
    -webkit-box-shadow:0 1px 0 white, 0 0px 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.2) inset;
    box-shadow:0 1px 0 white, 0 0px 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.2) inset;
}
 .progress .progress-bar {
    float:left;
    width:0%;
    font-size:12px;
    line-height:20px;
    color:white;
    text-align:center;
    background-color:#428bca;
    -webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -webkit-transition:width 0.6s ease;
    transition:width 0.6s ease;
    -webkit-border-radius:8px;
    -moz-border-radius:8px;
    -ms-border-radius:8px;
    -o-border-radius:8px;
    border-radius:8px;
    -webkit-box-shadow:none;
    box-shadow:none;
    height:8px;
}
.progress-bar span{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    border:0;
}
.progress-blue {
    background-image:-webkit-gradient(linear, left 0%, left 100%, from(#9bcff5), to(#6db9f0));
    background-image:-webkit-linear-gradient(top, #9bcff5, 0%, #6db9f0, 100%);
    background-image:-moz-linear-gradient(top, #9bcff5 0%, #6db9f0 100%);
    background-image:linear-gradient(to bottom, #9bcff5 0%, #6db9f0 100%);
    background-repeat:repeat-x;
    border:1px solid #55aeee;
}

/*---Смайлы---*/

span.emoji {
    margin-left: 0.313rem;
    margin-right: 0.313rem;
}

.emoji {
    border: none;
    vertical-align: bottom;
}

.native-emoji {
    font-size: 1.2em;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols';
    line-height: 1;
}

.wseditor {
    border-top: 5px solid #0c5f7e;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}

.wseditor .tox-tinymce {
    border-top: none;
}

#dlefastreplycomments .wseditor {
	margin-bottom: 10px;
}

.dlecomments-editor .tox .tox-toolbar__primary,  .dlefastedit-editor .tox .tox-toolbar__primary{
    border-top: 0;
    box-shadow: none;
}

.mce-toc {
  border: 1px solid #dbdada;
	margin: 0 0 .7rem 0;
}

.mce-toc h2 {
  margin: 4px;
}

.mce-toc ul {
	padding-left: 20px;
  list-style: none;
  margin-top: 0;
  margin-bottom: 0;
  margin-block-start: 1em;
  margin-block-end: 1em;
}

.mce-toc ul ul {
	padding-left: 20px;
	margin-block-start: 0;
  margin-block-end: 0;
}

.mce-toc li {
  list-style-type: none;
}

.image-bordered {
	border: 1px solid #ddd;
}

.image-shadows {
	box-shadow: rgb(9 30 66 / 25%) 0px 4px 8px -2px, rgb(9 30 66 / 8%) 0px 0px 0px 1px;
}

.image-padded {
	padding: 0.5rem;
}

.comments-user-profile {
  font-weight: bold;
  cursor: pointer;
  color: #3394e6;
}

.tox .tox-dialog__header {
    color: rgb(255, 255, 255) !important;
    background-color: #517fa4 !important;
    border-bottom: #517fa4 !important;
}

.title_spoiler svg{
	vertical-align: middle;
	margin-top: -.28em;
	margin-right: .47em;
	height: 1.11em;
	width: 1.11em;
}

.mce-accordion summary {
	cursor: pointer;
}

.mobilewseditor .tox:not(.tox-tinymce-inline) .tox-editor-header {
	border-bottom: none;
}

.self_delete_link {
	border: 0 none;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	padding: .833em 1.875em;
	border-radius: .694em;
	margin-left: 1.04em;
	outline: none;
	background-color: #f44336;
	color: #fff;
	text-shadow: 0 1px #333;
	text-decoration: none !important;
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
	box-sizing: border-box;
	transition: all ease .1s; transition: all ease .1s;
}
input[type="text"].comments_author_field {
	width: 100%;
	margin-bottom: .694em;
}

.user_fields .xfieldscolright {
    float: none;
    width: auto;
}
.user_fields .form-check-input {
	margin: 0.417em 0.694em 0 0;
}

.DLEPush {
	z-index: 2001;
	position: fixed;
	right: 1.389em;
	top: 1.389em
}

@keyframes DLEPush-show {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

.DLEPush-notification.wrapper {
	animation-name: DLEPush-show;
	animation-duration: 1s;
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	color: #333;
	margin-bottom: .694em;
	width: 100%;
	max-width: 27.78em;
	box-shadow: 0 10px 15px rgb(0 0 0 / 20%);
	background-color: #fff;
	border-radius: .694em
}

.DLEPush-notification .DLEPush-icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	width: 3.125em;
	height: 100%;
	border-top-left-radius: .694em;
	border-bottom-left-radius: .694em;
	text-align: center;
}

.DLEPush-notification .DLEPush-icon svg {
	width: 1.78em;
	height: 1.78em;
}

.DLEPush-notification .DLEPush-header {
	font-weight: 500;
	grid-column: 2;
	grid-row: 1;
	font-size: var(--font-size-lg);
	margin-left: 1em;
	margin-top: .5em;
}
.DLEPush-notification .DLEPush-header:empty {
	margin-top: 0;
}

.DLEPush-notification .DLEPush-message {
	grid-column: 2;
	grid-row: 2;
	font-size: var(--font-size-sm);
	margin: 1.163em;
}

.DLEPush-notification .DLEPush-message li, .DLEPush-notification .DLEPush-message ul {
	list-style-type: none;
	padding-left: 0;
}

.DLEPush-notification .DLEPush-close {
	position: absolute;
	top: 8px;
	right: 10px;
	font-weight: 300;
	background: none;
	border: 0;
	font-size: calc(var(--font-size-lg) * 1.15);
	cursor: pointer;
	line-height: 1;
	padding: 0;
	color: inherit;
	outline: 0;
	opacity: 0.75;
}

@media only screen and (min-width: 601px) {
	.DLEPush-notification.wrapper {
		min-width: 27.78em;
	}
}

@media only screen and (max-width: 600px) {
	.xfieldscolleft {
		float: none;
		width: 100%;
	}
	.xfieldscolright {
		float: none;
		width: 100%;
	}
}

.DLEPush-notification .DLEPush-close:hover {
	opacity: 1;
}

.DLEPush-notification.wrapper.push-success {
	background-color: #e0f2f1;
}

.DLEPush-notification.wrapper.push-success .DLEPush-icon {
	background-color: #00897b;
}

.DLEPush-notification.wrapper.push-warning {
	background-color: #FFF3E0;
}

.DLEPush-notification.wrapper.push-warning .DLEPush-icon {
	background-color: #FF9800;
}

.DLEPush-notification.wrapper.push-error {
	background-color: #FBE9E7;
}

.DLEPush-notification.wrapper.push-error .DLEPush-icon {
	background-color: #FF5722;
}
.quote_link {
	float: right;
}
.quote_link svg {
	color: #6c838e;
	vertical-align: middle;
}
.clipboard-copy-link svg {
	color: #6c838e;
	vertical-align: middle;
	margin-top: -3px;
}

.smart-captcha {
    display: inline-block;
}

.mathml-container {
	font-family: math;
}

div.mathml-block {
	font-size: 1.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .139em .35em;
}

div.mathml-block .katex {
    font-size: 1.1em;
}

span.mathml-inline {
	display: inline-block;
	vertical-align: middle;
	margin: 0 .12em;
}

.dleshowhidden {
	color: #104d92;
	background-color: #E3F2FD;
	border: 1px solid #1E88E5;
	box-shadow: 0 5px 12px rgba(126, 142, 177, 0.2);
	padding: .83em;	
}

.social-list-item, .ignore-list-item, #pmlist_doaction {
	margin-right: .5em;
}

.monthselect-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3em;
}
.monthselect-title {
	display: inline-block;
}

.dlepopupnewsedit .wseditor{
    border-top: none;
}

.dlepopupnewsedit .tox .tox-toolbar-overlord {
    background-color: #f7f7f7;
}

textarea.ajaxwysiwygeditor, textarea.wysiwygeditor, .dleaddcomments-editor.wseditor textarea {
	visibility: hidden;
}
textarea.ajaxwysiwygeditor, .dleaddcomments-editor.wseditor textarea {
	height: 260px;
}
@charset "utf-8";
/* =============================================================================
   ARMLIX — дизайн-система шаблона для DataLife Engine 20
   -----------------------------------------------------------------------------
   Язык интерфейса: инженерная консоль.
   Контент — гротеск. Всё служебное (метки, кнопки, числа, статусы) — моноширинный
   шрифт капсом с широким трекингом. Нулевые скругления, волосяные линии, плотные
   сетки. Единственный акцент — янтарный; зелёный только для «онлайн», красный
   только для «наказание/ошибка».
   ============================================================================= */

/* -----------------------------------------------------------------------------
   1. Шрифты
   Файлы кладутся в templates/Armlix/fonts/. Если их нет — стек падает на
   системные шрифты без FOUT-катастрофы (см. README шаблона).
   -------------------------------------------------------------------------- */
@font-face {
	font-family: 'ARMLIX Sans';
	src: url('../fonts/IBMPlexSans-Regular.woff2') format('woff2');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Sans';
	src: url('../fonts/IBMPlexSans-Medium.woff2') format('woff2');
	font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Sans';
	src: url('../fonts/IBMPlexSans-SemiBold.woff2') format('woff2');
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Sans';
	src: url('../fonts/IBMPlexSans-Bold.woff2') format('woff2');
	font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Mono';
	src: url('../fonts/IBMPlexMono-Regular.woff2') format('woff2');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Mono';
	src: url('../fonts/IBMPlexMono-Medium.woff2') format('woff2');
	font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'ARMLIX Mono';
	src: url('../fonts/IBMPlexMono-SemiBold.woff2') format('woff2');
	font-weight: 600; font-style: normal; font-display: swap;
}

/* -----------------------------------------------------------------------------
   2. Токены
   -------------------------------------------------------------------------- */
:root {
	/* Поверхности */
	--bg:          #0b0b0a;
	--surface:     #101010;
	--surface-in:  #0d0d0c;
	--surface-hi:  #151514;
	--surface-off: #0e0e0d;
	--hatch:       repeating-linear-gradient(45deg, #26261f 0 4px, #1a1a16 4px 8px);
	--hatch-lg:    repeating-linear-gradient(45deg, #1c1c18 0 8px, #141410 8px 16px);
	--hatch-md:    repeating-linear-gradient(45deg, #1c1c18 0 7px, #141410 7px 14px);

	/* Линии */
	--line:        rgba(255,255,255,.09);
	--line-soft:   rgba(255,255,255,.06);
	--line-mid:    rgba(255,255,255,.14);
	--line-strong: rgba(255,255,255,.18);
	--line-hi:     rgba(255,255,255,.40);

	/* Текст */
	--ink:    #e8e6e1;
	--ink-2:  #c9c6bf;
	--ink-3:  #8a8781;
	--ink-4:  #6f6c67;
	--ink-5:  #5c5a56;
	--ink-6:  #4a4844;

	/* Акценты — hex-фолбэк, следом oklch для поддерживающих браузеров */
	--amber:    #dea52d;
	--amber:    oklch(0.78 0.17 85);
	--amber-hi: #f0b955;
	--amber-hi: oklch(0.84 0.15 85);
	--amber-dim: rgba(222,165,45,.14);
	--green:    #46c26b;
	--green:    oklch(0.78 0.17 145);
	--green-dim: rgba(70,194,107,.30);
	--red:      #ef5a4c;
	--red:      oklch(0.70 0.19 25);
	--red-dim:  rgba(239,90,76,.18);

	/* Типографика */
	--font-sans: 'ARMLIX Sans', 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--font-mono: 'ARMLIX Mono', 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', Menlo, Consolas, monospace;

	--fs-nano:  9.5px;
	--fs-micro: 10px;
	--fs-xxs:   10.5px;
	--fs-xs:    11px;
	--fs-sm:    11.5px;
	--fs-cap:   12px;
	--fs-body-s:12.5px;
	--fs-body:  13.5px;
	--fs-md:    14.5px;
	--fs-lg:    15px;
	--fs-xl:    16.5px;
	--fs-h4:    19px;
	--fs-h3:    22px;
	--fs-h2:    clamp(20px, 1.1rem + 1.1vw, 26px);
	--fs-h1:    clamp(26px, 1.3rem + 2.6vw, 40px);
	--fs-hero:  clamp(28px, 1.2rem + 3.4vw, 44px);

	--tr-wide:   .16em;   /* заголовки-метки */
	--tr-label:  .10em;   /* мелкие метки */
	--tr-btn:    .08em;   /* кнопки */
	--tr-nav:    .09em;

	/* Ритм */
	--gap:      14px;   /* между карточками */
	--gap-lg:   32px;   /* между колонками */
	--pad:      24px;   /* поля страницы */
	--pad-card: 18px;
	--aside:    348px;  /* правая колонка главной */
	--aside-sm: 320px;
	--maxw:     1660px;

	/* Хром */
	--h-ribbon: 34px;
	--h-mast:   70px;

	--ease: cubic-bezier(.22,.61,.36,1);
	--dur:  .18s;
	color-scheme: dark;
}

/* -----------------------------------------------------------------------------
   3. Сброс и база
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	background: var(--bg);
	-webkit-text-size-adjust: 100%;
	scrollbar-color: #2a2a26 var(--bg);
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: var(--fs-body);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg, video, canvas { max-width: 100%; }
img, video { height: auto; display: block; }

a { color: var(--ink); text-decoration: none; transition: color var(--dur) var(--ease); }
a:hover { color: var(--amber); }

button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }

hr { border: 0; border-top: 1px solid var(--line); margin: var(--pad) 0; }

::selection { background: var(--amber); color: var(--bg); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: #2a2a26; }
::-webkit-scrollbar-thumb:hover { background: #3a3a34; }

:focus-visible {
	outline: 2px solid var(--amber);
	outline-offset: 2px;
}
.a-skip {
	position: absolute; left: -9999px; top: 0; z-index: 100;
	background: var(--amber); color: var(--bg); padding: 10px 16px;
	font-family: var(--font-mono); font-size: var(--fs-sm); letter-spacing: var(--tr-btn);
}
.a-skip:focus { left: 8px; top: 8px; }

/* -----------------------------------------------------------------------------
   4. Утилиты типографики
   -------------------------------------------------------------------------- */
.mono   { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.num    { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1; }
.dim    { color: var(--ink-3); }
.dimmer { color: var(--ink-4); }
.faint  { color: var(--ink-6); }
.accent { color: var(--amber); }
.ok     { color: var(--green); }
.bad    { color: var(--red); }
.pretty { text-wrap: pretty; }
.balance{ text-wrap: balance; }
.vh {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* Метка-заголовок секции: моно, капс, трекинг */
.label {
	font-family: var(--font-mono);
	font-size: var(--fs-cap);
	font-weight: 600;
	letter-spacing: var(--tr-wide);
	text-transform: uppercase;
	color: var(--ink);
	margin: 0;
}
.label--sm { font-size: var(--fs-xs); letter-spacing: .14em; }
.label--muted { color: var(--ink-4); font-weight: 400; letter-spacing: var(--tr-label); }

.note {
	font-family: var(--font-mono);
	font-size: var(--fs-xxs);
	letter-spacing: .06em;
	color: var(--ink-4);
	text-transform: uppercase;
}

/* Шапка секции: метка слева, ссылка «всё →» справа */
.sechead {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 16px; margin-bottom: var(--gap); flex-wrap: wrap;
}
.sechead__more {
	font-family: var(--font-mono); font-size: var(--fs-xxs);
	letter-spacing: var(--tr-btn); color: var(--ink-3);
	background: none; border: 0; padding: 0; text-transform: uppercase;
}
.sechead__more:hover { color: var(--amber); }

/* -----------------------------------------------------------------------------
   5. Каркас страницы
   -------------------------------------------------------------------------- */
.page { min-height: 100vh; display: flex; flex-direction: column; }
.shell { width: 100%; max-width: var(--maxw); margin: 0 auto; }
.pad   { padding-left: var(--pad); padding-right: var(--pad); }

.rule       { border-bottom: 1px solid var(--line); }
.rule-top   { border-top: 1px solid var(--line); }

/* Главная сетка «контент + правая колонка» */
.layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--aside);
	align-items: start;
}
.layout > .layout__main { min-width: 0; padding: 26px var(--pad) 34px; }
.layout > .layout__aside {
	border-left: 1px solid var(--line);
	padding: 26px 22px 34px;
	display: flex; flex-direction: column; gap: 26px;
	min-width: 0;
}
/* Разнесённый вариант (новости, статья, магазин) */
.layout--gap {
	grid-template-columns: minmax(0, 1fr) var(--aside-sm);
	gap: var(--gap-lg);
	padding: 22px var(--pad) 48px;
}
.layout--gap > .layout__main { padding: 0; }
.layout--gap > .layout__aside { border-left: 0; padding: 0; gap: var(--gap); }
.layout--single { display: block; padding: 26px var(--pad) 48px; }

/* Сетки карточек */
.grid { display: grid; gap: var(--gap); }
.grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid--5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.grid--split { grid-template-columns: minmax(0,1fr) 380px; gap: var(--gap-lg); align-items: start; }

/* -----------------------------------------------------------------------------
   6. Строка состояния (34px) — фирменный элемент
   -------------------------------------------------------------------------- */
.ribbon {
	border-bottom: 1px solid var(--line);
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	letter-spacing: .06em;
	color: var(--ink-3);
	text-transform: uppercase;
}
.ribbon__in {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; min-height: var(--h-ribbon);
	max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad);
}
.ribbon__group { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ribbon__group--end { gap: 14px; }
.ribbon strong { color: var(--ink-2); font-weight: 400; }
.ribbon .sep { color: var(--ink-6); }
.ribbon a { color: var(--ink-3); }
.ribbon a:hover { color: var(--amber); }

/* Индикатор */
.dot {
	width: 6px; height: 6px; display: block; flex: none;
	background: var(--ink-5);
}
.dot--on  { background: var(--green); }
.dot--off { background: var(--red); }
.dot--wait{ background: var(--amber); }
.dot--lg  { width: 7px; height: 7px; }

@media (prefers-reduced-motion: no-preference) {
	.dot--on { animation: breathe 3.2s var(--ease) infinite; }
}
@keyframes breathe { 0%,100% { opacity: 1 } 50% { opacity: .45 } }

/* Кнопка копирования IP */
.ipcopy {
	font-family: var(--font-mono); font-size: var(--fs-micro);
	letter-spacing: var(--tr-btn); text-transform: uppercase;
	color: var(--amber); background: transparent;
	border: 1px solid var(--line-mid); padding: 3px 7px;
	transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.ipcopy:hover { border-color: var(--amber); background: rgba(255,255,255,.04); }
.ipcopy.is-done { color: var(--green); border-color: var(--green-dim); }

/* -----------------------------------------------------------------------------
   7. Шапка
   -------------------------------------------------------------------------- */
.mast { border-bottom: 1px solid var(--line); position: relative; z-index: 30; background: var(--bg); }
.mast__in {
	display: flex; align-items: center; justify-content: space-between;
	gap: 20px; min-height: var(--h-mast);
	max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad);
}
.mast__left { display: flex; align-items: center; gap: 36px; min-width: 0; }
.mast__right { display: flex; align-items: center; gap: 10px; }

.logo { display: flex; align-items: center; gap: 11px; flex: none; }
.logo__mark {
	width: 20px; height: 20px; display: block; background: var(--amber);
	transition: background var(--dur) var(--ease);
}
.logo__word { font-weight: 700; font-size: var(--fs-lg); letter-spacing: .2em; }
.logo:hover { color: var(--ink); }
.logo:hover .logo__mark { background: var(--amber-hi); }

.nav { display: flex; gap: 24px; font-family: var(--font-mono); font-size: var(--fs-sm); letter-spacing: var(--tr-nav); text-transform: uppercase; }
.nav a {
	color: var(--ink-3); padding-bottom: 2px;
	border-bottom: 1px solid transparent;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
	white-space: nowrap;
}
.nav a:hover { color: var(--ink); border-bottom-color: var(--line-hi); }
.nav a.is-active { color: var(--ink); border-bottom-color: var(--amber); }

/* Пользовательский блок */
.userchip { display: flex; align-items: center; gap: 9px; min-width: 0; }
.userchip__name { font-size: var(--fs-body); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.balancechip {
	display: flex; align-items: center; gap: 9px;
	border: 1px solid var(--line-mid); padding: 6px 11px 6px 8px;
	font-family: var(--font-mono); white-space: nowrap;
}
.balancechip__k { font-size: var(--fs-micro); letter-spacing: var(--tr-btn); color: var(--ink-4); text-transform: uppercase; }
.balancechip__v { font-size: 13px; color: var(--amber); }

/* Аватар / голова скина */
.face {
	display: block; flex: none; background: var(--hatch);
	image-rendering: pixelated;
	object-fit: cover;
}
.face--20 { width: 20px; height: 20px; }
.face--22 { width: 22px; height: 22px; }
.face--26 { width: 26px; height: 26px; }
.face--28 { width: 28px; height: 28px; }
.face--30 { width: 30px; height: 30px; }
.face--32 { width: 32px; height: 32px; }
.face--38 { width: 38px; height: 38px; }
.face--44 { width: 44px; height: 44px; }
.face--46 { width: 46px; height: 46px; }
.face--76 { width: 76px; height: 76px; }

/* Бургер и мобильный поиск */
.burger, .searchbtn {
	display: none; align-items: center; gap: 8px;
	background: transparent; border: 1px solid var(--line-strong);
	color: var(--ink); padding: 9px 12px;
	font-family: var(--font-mono); font-size: var(--fs-sm); letter-spacing: var(--tr-btn);
	text-transform: uppercase;
}
.burger__bars { display: block; width: 14px; height: 10px; position: relative; }
.burger__bars i {
	position: absolute; left: 0; width: 100%; height: 1px; background: currentColor;
	transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.burger__bars i:nth-child(1) { top: 0 }
.burger__bars i:nth-child(2) { top: 4px }
.burger__bars i:nth-child(3) { top: 9px }
.is-menu-open .burger__bars i:nth-child(1) { transform: translateY(4px) rotate(45deg); }
.is-menu-open .burger__bars i:nth-child(2) { opacity: 0; }
.is-menu-open .burger__bars i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* Поиск в шапке */
.qsearch { display: flex; align-items: stretch; min-width: 0; }
.qsearch input[type="search"], .qsearch input[type="text"] {
	background: var(--surface); border: 1px solid var(--line-mid); border-right: 0;
	color: var(--ink); padding: 9px 12px; font-size: var(--fs-body);
	outline: none; min-width: 0; width: 210px;
	transition: border-color var(--dur) var(--ease);
}
.qsearch input:focus { border-color: var(--amber); }
.qsearch__go {
	background: transparent; border: 1px solid var(--line-mid); color: var(--ink-3);
	padding: 0 12px; display: inline-flex; align-items: center;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.qsearch__go:hover { color: var(--amber); border-color: var(--amber); }

/* -----------------------------------------------------------------------------
   8. Кнопки, чипы, бейджи
   -------------------------------------------------------------------------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	font-family: var(--font-mono); font-size: var(--fs-sm); font-weight: 500;
	letter-spacing: var(--tr-btn); text-transform: uppercase;
	padding: 11px 18px; border: 1px solid var(--line-strong);
	background: transparent; color: var(--ink); text-align: center;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
	white-space: nowrap;
}
.btn:hover { border-color: var(--amber); color: var(--amber); }
.btn:disabled, .btn.is-disabled { opacity: .45; pointer-events: none; }

.btn--primary {
	background: var(--amber); border-color: var(--amber); color: var(--bg); font-weight: 600;
}
.btn--primary:hover { background: var(--amber-hi); border-color: var(--amber-hi); color: var(--bg); }

.btn--danger { border-color: var(--line-strong); color: var(--ink); }
.btn--danger:hover { border-color: var(--red); color: var(--red); }

.btn--quiet { border-color: var(--line-mid); color: var(--ink-3); }
.btn--quiet:hover { border-color: var(--line-hi); color: var(--ink); }

.btn--sm { padding: 8px 12px; font-size: var(--fs-xxs); }
.btn--lg { padding: 13px 24px; font-size: var(--fs-xs); }
.btn--block { display: flex; width: 100%; }

.btnrow { display: flex; flex-wrap: wrap; gap: 9px; }

/* Чип-фильтр */
.chip {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: var(--font-mono); font-size: var(--fs-xxs);
	letter-spacing: .06em; text-transform: uppercase;
	border: 1px solid var(--line-mid); color: var(--ink-2);
	background: transparent; padding: 7px 11px;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.chip:hover { border-color: var(--amber); color: var(--amber); }
.chip.is-active, .chip[aria-current="true"] { border-color: var(--amber); color: var(--amber); }
.chiprow { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }

/* Бейдж-ярлык */
.badge {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--font-mono); font-size: var(--fs-nano);
	letter-spacing: var(--tr-label); text-transform: uppercase;
	border: 1px solid var(--line-strong); color: var(--ink-2); padding: 2px 6px;
}
.badge--accent { color: var(--amber); border-color: var(--amber); }
.badge--ok     { color: var(--green); border-color: var(--green-dim); }
.badge--bad    { color: var(--red); border-color: var(--red); }
.badge--lg     { font-size: var(--fs-micro); padding: 5px 9px; }

/* Тег */
.tag {
	display: inline-block; font-family: var(--font-mono); font-size: var(--fs-xxs);
	letter-spacing: .06em; border: 1px solid var(--line-mid); color: var(--ink-2);
	padding: 6px 10px;
}
.tag:hover { border-color: var(--amber); color: var(--amber); }

/* -----------------------------------------------------------------------------
   9. Панели и карточки
   -------------------------------------------------------------------------- */
.panel { border: 1px solid var(--line); background: var(--surface); min-width: 0; }
.panel__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 11px 16px; border-bottom: 1px solid var(--line);
	font-family: var(--font-mono); font-size: var(--fs-xs); font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
}
.panel__head .note { font-weight: 400; }
.panel__body { padding: var(--pad-card); }
.panel__foot { padding: 14px 16px; border-top: 1px solid var(--line); }

.card {
	border: 1px solid var(--line); background: var(--surface);
	padding: var(--pad-card); min-width: 0;
	display: flex; flex-direction: column;
}
.card--flat { padding: 0; }
.card--off  { background: var(--surface-off); border-color: var(--line-soft); }
.card__title { font-size: var(--fs-lg); font-weight: 600; margin-bottom: 7px; }
.card__text  { font-size: var(--fs-body-s); color: var(--ink-3); line-height: 1.6; text-wrap: pretty; }
.card__foot  { margin-top: auto; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card__mark  { width: 30px; height: 30px; display: block; background: var(--amber); margin-bottom: 14px; }
.card--acc { border-left: 2px solid var(--amber); }
.card--warn{ border-left: 2px solid var(--red); }
.card--mute{ border-left: 2px solid var(--line-strong); }

/* Плитка статистики (общая рамка-сетка) */
.stats {
	display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
	border-top: 1px solid var(--line); border-left: 1px solid var(--line);
}
.stats--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.stat {
	border-right: 1px solid var(--line); border-bottom: 1px solid var(--line);
	padding: 20px; min-width: 0;
}
.stat__v { font-family: var(--font-mono); font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.stat__v small { font-size: 15px; color: var(--ink-4); }
.stat__k {
	font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4);
	margin-top: 9px; letter-spacing: var(--tr-btn); text-transform: uppercase;
}

/* Строка «ключ — значение» */
.kv { display: flex; justify-content: space-between; gap: 12px; align-items: center;
	font-size: var(--fs-body); color: var(--ink-3); padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); }
.kv:first-child { border-top: 0; }
.kv b { font-family: var(--font-mono); font-weight: 400; color: var(--ink); text-align: right; }

/* Заглушка-иллюстрация */
.ph {
	background: var(--hatch-lg); display: flex; align-items: flex-end; padding: 14px;
	color: var(--ink-4); font-family: var(--font-mono); font-size: var(--fs-micro);
	letter-spacing: .06em; text-transform: uppercase;
}
.ph span { background: rgba(11,11,10,.75); padding: 6px 9px; }
.ph--center { align-items: center; justify-content: center; }

/* -----------------------------------------------------------------------------
   10. Индикатор заполненности
   -------------------------------------------------------------------------- */
.meter { height: 5px; background: rgba(255,255,255,.09); overflow: hidden; }
.meter__fill {
	height: 100%; background: var(--amber); width: var(--v, 0%);
	transition: width .9s var(--ease);
}
.meter--thin { height: 4px; }
.meter--thick { height: 6px; }
.meter--off .meter__fill { background: #3a3a35; }
.meter--warn .meter__fill { background: var(--red); }

@media (prefers-reduced-motion: no-preference) {
	.js-meter .meter__fill { width: 0; }
	.js-meter.is-filled .meter__fill { width: var(--v, 0%); transition-delay: calc(var(--i, 0) * 60ms); }
}
@media (prefers-reduced-motion: reduce) {
	.meter__fill { transition: none; }
}

/* Спарклайн онлайна за сутки */
.spark { display: block; width: 100%; height: 34px; }
.spark path.line { fill: none; stroke: var(--amber); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.spark path.area { fill: var(--amber-dim); stroke: none; }
.spark .grid { stroke: var(--line-soft); stroke-width: 1; vector-effect: non-scaling-stroke; }

/* -----------------------------------------------------------------------------
   11. Формы
   -------------------------------------------------------------------------- */
.field { display: block; }
.field + .field { margin-top: 16px; }
.field__k {
	display: flex; justify-content: space-between; gap: 12px;
	font-family: var(--font-mono); font-size: var(--fs-micro);
	letter-spacing: .12em; color: var(--ink-3); margin-bottom: 8px; text-transform: uppercase;
}
.field__k a { color: var(--ink-3); letter-spacing: .06em; }
.field__hint { display: block; font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); margin-top: 7px; letter-spacing: .04em; }
.field__err  { display: block; font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--red); margin-top: 7px; letter-spacing: .04em; }

.inp, .sel, .txt,
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], input[type="tel"], input[type="date"],
select, textarea {
	width: 100%; background: var(--surface); border: 1px solid var(--line-mid);
	color: var(--ink); padding: 12px 13px; font-family: var(--font-sans);
	font-size: var(--fs-md); line-height: 1.4; outline: none; border-radius: 0;
	transition: border-color var(--dur) var(--ease);
	-webkit-appearance: none; appearance: none;
}
textarea { resize: vertical; min-height: 96px; line-height: 1.55; }
select {
	background-image: linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
	background-position: calc(100% - 16px) 55%, calc(100% - 11px) 55%;
	background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
	padding-right: 32px;
}
select option { background: var(--surface); color: var(--ink); }
.inp:focus, .txt:focus, input:focus, select:focus, textarea:focus { border-color: var(--amber); }
.inp--mono, input.mono { font-family: var(--font-mono); letter-spacing: .08em; }
.inp--sub { background: var(--surface-in); }
::placeholder { color: var(--ink-5); opacity: 1; }

.check { display: flex; align-items: flex-start; gap: 10px; font-size: var(--fs-body); color: var(--ink-2); line-height: 1.5; cursor: pointer; }
.check input[type="checkbox"], .check input[type="radio"] {
	width: 15px; height: 15px; margin: 2px 0 0; flex: none; accent-color: var(--amber);
	-webkit-appearance: auto; appearance: auto;
}

.inputgroup { display: flex; gap: 8px; }
.inputgroup > .inp { flex: 1; min-width: 0; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }

.divider {
	display: flex; align-items: center; gap: 14px; margin: 26px 0;
	font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: var(--tr-label);
	color: var(--ink-4); text-transform: uppercase;
}
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.1); }

/* Переключатель */
.switch {
	width: 38px; height: 20px; background: #2a2a26; position: relative;
	display: block; flex: none; border: 0; padding: 0;
	transition: background var(--dur) var(--ease);
}
.switch::after {
	content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px;
	background: var(--ink-5); display: block;
	transition: transform var(--dur) var(--ease), background var(--dur) var(--ease);
}
.switch[aria-checked="true"] { background: var(--amber); }
.switch[aria-checked="true"]::after { transform: translateX(18px); background: var(--bg); }

/* -----------------------------------------------------------------------------
   12. Таблицы-сетки
   -------------------------------------------------------------------------- */
.tbl { border: 1px solid var(--line); background: var(--surface); }
.tbl__head, .tbl__row { display: grid; gap: 16px; align-items: center; }
.tbl__head {
	padding: 10px 16px; border-bottom: 1px solid rgba(255,255,255,.08);
	font-family: var(--font-mono); font-size: var(--fs-micro);
	letter-spacing: var(--tr-label); color: var(--ink-4); text-transform: uppercase;
}
.tbl__row { padding: 14px 16px; border-bottom: 1px solid var(--line-soft); transition: background var(--dur) var(--ease); }
.tbl__row:last-child { border-bottom: 0; }
.tbl__row:hover { background: rgba(255,255,255,.025); }
.tbl .r { text-align: right; }
.tbl__empty { padding: 40px 20px; text-align: center; color: var(--ink-3); }

/* Классическая таблица (для контента новостей) */
.content table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: var(--fs-body); }
.content th, .content td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; }
.content th { background: var(--surface); font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); font-weight: 600; }

/* -----------------------------------------------------------------------------
   13. Мониторинг серверов
   -------------------------------------------------------------------------- */
.mon { border: 1px solid var(--line); background: var(--surface); }
.mon__head, .mon__row {
	display: grid;
	grid-template-columns: 14px minmax(0,1fr) 108px 200px 96px 116px;
	gap: 16px; align-items: center;
}
.mon__head {
	padding: 9px 16px; border-bottom: 1px solid var(--line);
	font-family: var(--font-mono); font-size: var(--fs-micro);
	letter-spacing: var(--tr-label); color: var(--ink-4); text-transform: uppercase;
}
.mon__row { padding: 16px; border-bottom: 1px solid rgba(255,255,255,.07); transition: background var(--dur) var(--ease); }
.mon__row:last-child { border-bottom: 0; }
.mon__row:hover { background: rgba(255,255,255,.025); }
.mon__name { font-size: var(--fs-lg); font-weight: 600; letter-spacing: .01em; }
.mon__name small { color: var(--ink-4); font-weight: 400; font-size: inherit; }
.mon__descr { font-size: var(--fs-body-s); color: var(--ink-3); margin-top: 3px; }
.mon__ver { font-family: var(--font-mono); font-size: var(--fs-sm); color: var(--ink-2); }
.mon__load { font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); margin-top: 6px; letter-spacing: .06em; text-transform: uppercase; }
.mon__online { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.mon__online b { font-size: var(--fs-h4); font-weight: 400; color: var(--ink); }
.mon__online span { font-size: var(--fs-cap); color: var(--ink-4); }
.mon__row.is-offline { opacity: .55; }

/* Компактный виджет мониторинга в сайдбаре */
.monmini__row {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 16px; border-bottom: 1px solid var(--line-soft);
}
.monmini__row:last-child { border-bottom: 0; }
.monmini__name { display: flex; align-items: center; gap: 9px; font-size: var(--fs-body); min-width: 0; }
.monmini__num { font-family: var(--font-mono); font-size: var(--fs-cap); color: var(--ink-2); white-space: nowrap; }
.monmini__num span { color: var(--ink-4); }

/* Вкладки серверов */
.servertabs {
	position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
	border-bottom: 1px solid var(--line);
}
.servertabs__ink {
	position: absolute; bottom: -1px; height: 2px; background: var(--amber);
	transition: left .28s var(--ease), width .28s var(--ease);
}
.servertab {
	background: transparent; border: 0; border-right: 1px solid var(--line);
	padding: 16px 20px; text-align: left; color: var(--ink);
	font-family: var(--font-sans); min-width: 0;
	transition: background var(--dur) var(--ease);
}
.servertab:last-child { border-right: 0; }
.servertab:hover { background: rgba(255,255,255,.03); }
.servertab__name { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; font-size: var(--fs-lg); font-weight: 600; }
.servertab__meta { font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-3); letter-spacing: .05em; text-transform: uppercase; }

/* Герой сервера */
.hero { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: var(--gap-lg); padding: 32px var(--pad); border-bottom: 1px solid var(--line); }
.hero__eyebrow { font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .14em; color: var(--amber); margin-bottom: 12px; text-transform: uppercase; }
.hero__title { margin: 0 0 14px; font-size: var(--fs-h1); font-weight: 600; letter-spacing: -.01em; line-height: 1.1; }
.hero__lead { margin: 0 0 20px; font-size: var(--fs-xl); line-height: 1.65; color: var(--ink-2); max-width: 62ch; text-wrap: pretty; }
.hero__shot { height: 260px; margin-top: 26px; }

.statuscard__big { font-family: var(--font-mono); font-size: 38px; line-height: 1; font-variant-numeric: tabular-nums; }
.statuscard__big span { font-size: 17px; color: var(--ink-4); }

/* -----------------------------------------------------------------------------
   14. Новости
   -------------------------------------------------------------------------- */
/* Компактный список на главной */
.newsfeed { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.newsline {
	background: var(--surface); padding: 18px;
	display: grid; grid-template-columns: 96px minmax(0,1fr) 120px; gap: 20px; align-items: start;
	transition: background var(--dur) var(--ease);
}
.newsline:hover { background: var(--surface-hi); }
.newsline__date { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-4); line-height: 1.7; }
.newsline__date span { color: var(--ink-6); }
.newsline__meta { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; flex-wrap: wrap; }
.newsline__title { margin: 0 0 6px; font-size: 16px; font-weight: 600; line-height: 1.35; }
.newsline__text { margin: 0; font-size: 13px; line-height: 1.55; color: var(--ink-3); text-wrap: pretty; }
.newsline__num { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-4); text-align: right; white-space: nowrap; }

/* Развёрнутая карточка в ленте новостей */
.postcard {
	display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 20px;
	border: 1px solid var(--line); background: var(--surface); padding: 16px;
	transition: border-color var(--dur) var(--ease);
}
.postcard:hover { border-color: rgba(255,255,255,.22); }
.postcard__cover { height: 150px; overflow: hidden; background: var(--hatch-md); }
.postcard__cover img { width: 100%; height: 100%; object-fit: cover; }
.postcard__body { min-width: 0; }
.postcard__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; flex-wrap: wrap; }
.postcard__title { display: block; font-size: var(--fs-h4); font-weight: 600; line-height: 1.3; margin-bottom: 9px; text-wrap: pretty; }
.postcard__text { display: block; font-size: var(--fs-body); line-height: 1.6; color: var(--ink-3); margin-bottom: 14px; text-wrap: pretty; }
.postcard__foot { display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-4); letter-spacing: .05em; text-transform: uppercase; }
.postlist { display: flex; flex-direction: column; gap: var(--gap); }

/* Статья */
.article { border-bottom: 1px solid var(--line); padding-bottom: 28px; margin-bottom: 28px; }
.article__meta { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; flex-wrap: wrap; }
.article__title { margin: 0 0 16px; font-size: var(--fs-h1); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; text-wrap: balance; }
.article__by { display: flex; align-items: center; gap: 11px; margin-bottom: 24px; flex-wrap: wrap; }
.article__cover { margin-bottom: 26px; }
.article__cover img { width: 100%; }
.article__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 24px; }

.content { font-size: var(--fs-xl); line-height: 1.65; color: var(--ink-2); }
.content > * + * { margin-top: 18px; }
.content h2 { font-size: var(--fs-h3); font-weight: 600; color: var(--ink); margin-top: 32px; }
.content h3 { font-size: var(--fs-h4); font-weight: 600; color: var(--ink); margin-top: 26px; }
.content h4 { font-size: var(--fs-lg); font-weight: 600; color: var(--ink); margin-top: 22px; }
.content ul, .content ol { padding-left: 20px; line-height: 1.75; }
.content ul { list-style: none; }
.content ul > li { position: relative; }
.content ul > li::before {
	content: ""; position: absolute; left: -16px; top: .68em;
	width: 5px; height: 5px; background: var(--amber);
}
.content ol { list-style: decimal; }
.content ol::marker, .content li::marker { color: var(--ink-4); }
.content li + li { margin-top: 6px; }
.content a { color: var(--amber); border-bottom: 1px solid rgba(222,165,45,.35); }
.content a:hover { border-bottom-color: var(--amber); }
.content img { margin: 4px 0; }
.content blockquote, .content .quote {
	border-left: 2px solid var(--amber); background: var(--surface);
	padding: 14px 18px; color: var(--ink-2); font-size: var(--fs-md);
}
.content pre, .content code, .content .scriptcode {
	font-family: var(--font-mono); font-size: var(--fs-body); background: var(--surface-in);
	border: 1px solid var(--line); color: var(--ink-2);
}
.content code { padding: 1px 5px; }
.content pre, .content .scriptcode { padding: 14px 16px; overflow-x: auto; }
.content hr { margin: 26px 0; }

/* Реакции под статьёй */
.reactions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* -----------------------------------------------------------------------------
   15. Комментарии
   -------------------------------------------------------------------------- */
.comments { display: flex; flex-direction: column; gap: 12px; }
.comment { border: 1px solid var(--line); background: var(--surface); padding: var(--pad-card); }
.comment__in { display: flex; gap: 13px; }
.comment__body { flex: 1; min-width: 0; }
.comment__head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.comment__author { font-size: 14px; font-weight: 600; }
.comment__date { font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-4); }
.comment__text { margin: 0 0 12px; font-size: var(--fs-md); line-height: 1.6; color: var(--ink-2); text-wrap: pretty; }
.comment__text a { color: var(--amber); }
.comment__acts { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.comment__act {
	background: transparent; border: 0; padding: 0; color: var(--ink-3);
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .06em; text-transform: uppercase;
	transition: color var(--dur) var(--ease);
}
.comment__act:hover { color: var(--amber); }
.comment__act--quiet { color: var(--ink-6); }
.comment__act--quiet:hover { color: var(--ink-3); }
.comment .comments-tree-list, .comment__replies {
	margin: 16px 0 0 51px; border-left: 1px solid rgba(255,255,255,.12); padding-left: 16px;
	display: flex; flex-direction: column; gap: 12px;
}
.comment .comments-tree-list .comment { border: 0; background: transparent; padding: 0; }
.commentform { border: 1px solid var(--line); background: var(--surface); padding: var(--pad-card); margin-bottom: 20px; }
.commentform__row { display: flex; gap: 13px; }
.commentform__body { flex: 1; min-width: 0; }
.commentform__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; flex-wrap: wrap; }

/* -----------------------------------------------------------------------------
   16. Пагинация
   -------------------------------------------------------------------------- */
.pager { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 20px; }
.pager a, .pager span {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: .06em;
	border: 1px solid var(--line-mid); color: var(--ink-2); padding: 9px 14px; min-width: 40px;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.pager a:hover { border-color: var(--line-hi); color: var(--ink); }
.pager span.nav_ext { border-color: transparent; }
.pager .pnext, .pager .pprev { color: var(--ink-2); }
.pager > span:not(.nav_ext), .pager b {
	border-color: var(--amber); color: var(--amber); font-weight: 400;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: .06em;
	padding: 9px 14px; min-width: 40px;
}

/* -----------------------------------------------------------------------------
   17. Сайдбар-виджеты
   -------------------------------------------------------------------------- */
.side { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }
.side__block + .side__block { border-top: 1px solid var(--line); padding-top: 22px; }

.toplist { display: flex; flex-direction: column; gap: 11px; }
.topline { display: grid; grid-template-columns: 16px 26px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.topline__n { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-4); }
.topline:first-child .topline__n { color: var(--amber); }
.topline__name { font-size: var(--fs-body); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.topline__v { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-4); }

.presence { padding: 13px; display: flex; flex-direction: column; gap: 9px; }
.presence__row { display: flex; align-items: center; gap: 9px; }
.presence__row span:last-child { margin-left: auto; font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); }

.discussed { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line-soft); transition: background var(--dur) var(--ease); }
.discussed:last-child { border-bottom: 0; }
.discussed:hover { background: rgba(255,255,255,.03); }
.discussed__n { font-family: var(--font-mono); font-size: var(--fs-cap); color: var(--ink-4); }
.discussed:first-of-type .discussed__n { color: var(--amber); }
.discussed__t { font-size: var(--fs-body); line-height: 1.4; text-wrap: pretty; }

.sidelink { display: block; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); transition: background var(--dur) var(--ease); }
.sidelink:last-child { border-bottom: 0; }
.sidelink:hover { background: rgba(255,255,255,.03); }
.sidelink__t { font-size: 14px; font-weight: 600; line-height: 1.4; margin-bottom: 6px; text-wrap: pretty; }
.sidelink__m { font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-4); text-transform: uppercase; }

/* Мини-форма входа в сайдбаре */
.loginmini { display: flex; flex-direction: column; gap: 9px; }
.loginmini__links { display: flex; justify-content: space-between; gap: 12px; margin-top: 11px;
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .05em; }
.loginmini__links a { color: var(--ink-3); }

/* -----------------------------------------------------------------------------
   18. Магазин
   -------------------------------------------------------------------------- */
.shop { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.shop__sec > h2 { margin: 0 0 6px; font-size: var(--fs-h4); font-weight: 600; }
.shop__sec > p { margin: 0 0 16px; font-size: var(--fs-body); color: var(--ink-3); }

.product { position: relative; }
.product__price { font-family: var(--font-mono); font-size: 16px; font-variant-numeric: tabular-nums; }
.product__old { font-family: var(--font-mono); font-size: var(--fs-body-s); color: var(--ink-5); text-decoration: line-through; margin-left: 7px; }
.product__art { height: 120px; }
.product__art--sm { height: 110px; }
.product__big { font-family: var(--font-mono); font-size: 26px; line-height: 1; margin-bottom: 9px; }
.product.is-owned { border-color: var(--green-dim); }

.serverpick { position: relative; display: inline-grid; border: 1px solid var(--line-mid); }
.serverpick__ink { position: absolute; top: 0; height: 2px; background: var(--amber); transition: left .26s var(--ease), width .26s var(--ease); }
.serverpick button {
	background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.1);
	color: var(--ink); font-size: var(--fs-body); padding: 13px 20px; min-width: 130px;
	transition: background var(--dur) var(--ease);
}
.serverpick button:last-child { border-right: 0; }
.serverpick button:hover { background: rgba(255,255,255,.04); }

.cart { position: sticky; top: 16px; }
.cart__item { padding: 14px 16px; border-bottom: 1px solid var(--line-soft); }
.cart__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.cart__name { font-size: var(--fs-body); font-weight: 600; line-height: 1.35; }
.cart__unit { font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); margin-top: 4px; letter-spacing: .05em; text-transform: uppercase; }
.cart__x { background: transparent; border: 0; color: var(--ink-6); font-family: var(--font-mono); font-size: 14px; line-height: 1; padding: 0; flex: none; }
.cart__x:hover { color: var(--red); }
.cart__bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.qty { display: flex; align-items: center; border: 1px solid var(--line-mid); }
.qty button { background: transparent; border: 0; color: var(--ink-2); font-family: var(--font-mono); font-size: 13px; width: 26px; height: 26px; }
.qty button:hover { background: rgba(255,255,255,.06); }
.qty span { font-family: var(--font-mono); font-size: var(--fs-body-s); width: 30px; text-align: center; }
.cart__sum { font-family: var(--font-mono); font-size: 14px; }
.cart__totals { padding: 16px; }
.cart__totals .kv { padding: 0 0 10px; border: 0; }
.cart__totals .kv--sep { border-bottom: 1px solid rgba(255,255,255,.08); }
.cart__hint { font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); line-height: 1.7; margin-top: 14px; letter-spacing: .04em; text-transform: uppercase; }

/* -----------------------------------------------------------------------------
   19. Личный кабинет
   -------------------------------------------------------------------------- */
.cab { display: grid; grid-template-columns: 230px minmax(0,1fr); }
.cabnav {
	border-right: 1px solid var(--line); padding: 20px 0;
	min-height: calc(100vh - var(--h-ribbon) - var(--h-mast));
}
.cabnav__k { font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: .14em; color: var(--ink-4); padding: 0 18px 12px; text-transform: uppercase; }
.cabnav__list { position: relative; }
.cabnav__ink { position: absolute; left: 0; width: 2px; height: 36px; background: var(--amber); transition: transform .22s var(--ease); }
.cabnav a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	height: 36px; padding: 0 18px; color: var(--ink-2); font-size: var(--fs-body);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.cabnav a:hover { background: rgba(255,255,255,.04); color: var(--ink); }
.cabnav a.is-active { color: var(--ink); background: rgba(255,255,255,.03); }
.cabnav a b { font-family: var(--font-mono); font-size: var(--fs-micro); font-weight: 400; color: var(--ink-4); }
.cabnav a b.acc { color: var(--amber); }
.cabnav a b.warn { color: var(--red); }
.cabnav__foot { border-top: 1px solid var(--line); margin-top: 16px; padding: 14px 18px; }
.cabnav__id { font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: .06em; color: var(--ink-4); line-height: 1.7; text-transform: uppercase; }

.cabmain { min-width: 0; padding: 26px var(--pad) 48px; }
.cabmain > h1 { margin: 0 0 4px; font-size: var(--fs-h3); font-weight: 600; }
.cabmain > .lead { margin: 0 0 24px; font-size: var(--fs-body); color: var(--ink-3); }

.bigmoney { font-family: var(--font-mono); font-size: 34px; line-height: 1; font-variant-numeric: tabular-nums; }
.bigmoney span { font-size: 18px; color: var(--ink-3); }
.bigmoney--xl { font-size: 42px; }
.bigmoney--xl span { font-size: 20px; }

.privilege__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.privilege__mark { width: 30px; height: 30px; display: block; background: var(--amber); }
.privilege__mark--off { background: #5a5a52; }
.privilege__term { display: flex; justify-content: space-between; gap: 12px; font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-3); margin-bottom: 16px; text-transform: uppercase; }

.ach { padding: 16px; }
.ach__mark { width: 34px; height: 34px; display: block; background: var(--amber); margin-bottom: 13px; }
.ach--locked .ach__mark { background: #242420; }
.ach--locked .card__title, .ach--locked .ach__title { color: var(--ink-4); }
.ach--locked .card__text { color: var(--ink-5); }
.ach__title { font-size: 14px; font-weight: 600; margin-bottom: 5px; }
.ach__when { font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); margin-top: 11px; letter-spacing: .06em; text-transform: uppercase; }
.ach--locked .ach__when { color: var(--ink-6); }

/* Загрузка скина */
.dropzone {
	border: 1px dashed rgba(255,255,255,.2); padding: 28px; text-align: center;
	transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.dropzone.is-over { border-color: var(--amber); background: rgba(222,165,45,.05); }
.dropzone__t { font-size: 14px; margin-bottom: 6px; }
.capepick { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; }
.capepick__i { border: 1px solid var(--line-mid); padding: 10px; text-align: center; background: transparent; color: var(--ink); }
.capepick__i.is-active { border-color: var(--amber); color: var(--amber); }
.capepick__i.is-locked { border-color: var(--line-soft); opacity: .5; pointer-events: none; }
.capepick__img { display: block; height: 64px; background: var(--hatch); margin-bottom: 9px; image-rendering: pixelated; object-fit: contain; width: 100%; }
.capepick__n { font-size: var(--fs-cap); }

/* 3D-превью скина */
.skinview { position: relative; background: var(--hatch-md); }
.skinview canvas { display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.skinview__hint {
	position: absolute; left: 0; right: 0; bottom: 11px; text-align: center;
	font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: .06em;
	color: var(--ink-4); pointer-events: none; text-transform: uppercase;
}
.skinview__tabs { display: flex; gap: 8px; margin-top: 14px; }
.skinview__tabs .chip { flex: 1; justify-content: center; }

/* -----------------------------------------------------------------------------
   20. Публичный профиль
   -------------------------------------------------------------------------- */
.prof {
	display: grid; grid-template-columns: 200px minmax(0,1fr) 420px; gap: var(--gap-lg);
	align-items: start; padding: 8px var(--pad) 30px; border-bottom: 1px solid var(--line);
}
.prof__skin { height: 280px; border: 1px solid rgba(255,255,255,.08); }
.prof__name { display: flex; align-items: center; gap: 13px; margin-bottom: 10px; flex-wrap: wrap; }
.prof__name h1 { margin: 0; font-size: var(--fs-hero); font-weight: 600; letter-spacing: -.01em; line-height: 1; }
.prof__sub { font-size: var(--fs-md); color: var(--ink-3); margin-bottom: 18px; }
.prof__badges { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }

.tabs { display: flex; gap: 0; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs a, .tabs button {
	background: transparent; border: 0; border-bottom: 2px solid transparent;
	color: var(--ink-3); font-family: var(--font-mono); font-size: var(--fs-sm);
	letter-spacing: .12em; padding: 15px 20px; margin-bottom: -1px; white-space: nowrap;
	text-transform: uppercase; transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.tabs a:hover, .tabs button:hover { color: var(--ink); }
.tabs a.is-active, .tabs button.is-active { color: var(--ink); font-weight: 600; border-bottom-color: var(--amber); }

.feedrow { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 20px; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); align-items: baseline; }
.feedrow:last-child { border-bottom: 0; }
.feedrow__t { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--ink-4); text-transform: uppercase; }
.feedrow__v { font-size: var(--fs-body); color: var(--ink-2); }

/* -----------------------------------------------------------------------------
   21. Авторизация (двухколонный экран)
   -------------------------------------------------------------------------- */
.auth { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1fr) 520px; }
.auth__art {
	position: relative; background: repeating-linear-gradient(45deg, #17170f 0 12px, #111109 12px 24px);
	display: flex; flex-direction: column; justify-content: space-between;
	padding: 32px; border-right: 1px solid var(--line);
}
.auth__pitch { position: relative; max-width: 520px; }
.auth__pitch h2 { font-size: clamp(22px, 1rem + 1.6vw, 32px); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; margin-bottom: 14px; }
.auth__pitch p { font-size: var(--fs-md); line-height: 1.6; color: var(--ink-3); text-wrap: pretty; }
.auth__facts { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 26px; border-top: 1px solid rgba(255,255,255,.1); padding-top: 20px; }
.auth__fact b { display: block; font-family: var(--font-mono); font-size: 22px; line-height: 1; font-weight: 400; }
.auth__fact span { display: block; font-family: var(--font-mono); font-size: var(--fs-micro); color: var(--ink-4); margin-top: 6px; letter-spacing: .06em; text-transform: uppercase; }
.auth__form { padding: 44px 48px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.auth__tabs { display: flex; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 28px; }
.auth__tabs a {
	border-bottom: 2px solid transparent; color: var(--ink-4);
	font-family: var(--font-mono); font-size: var(--fs-cap); letter-spacing: .12em;
	padding: 0 4px 12px; margin-bottom: -1px; margin-right: 26px; text-transform: uppercase;
}
.auth__tabs a:hover { color: var(--ink-2); }
.auth__tabs a.is-active { color: var(--ink); font-weight: 600; border-bottom-color: var(--amber); }
.auth__form h1 { margin: 0 0 8px; font-size: var(--fs-h3); font-weight: 600; }
.auth__form .lead { margin: 0 0 26px; font-size: 14px; color: var(--ink-3); line-height: 1.55; }

/* -----------------------------------------------------------------------------
   22. Подвал
   -------------------------------------------------------------------------- */
.foot { margin-top: auto; border-top: 1px solid var(--line); }
.foot__in {
	max-width: var(--maxw); margin: 0 auto; padding: 26px var(--pad);
	display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .06em;
	color: var(--ink-4); text-transform: uppercase;
}
.foot__links { display: flex; gap: 20px; flex-wrap: wrap; }
.foot a { color: var(--ink-4); }
.foot a:hover { color: var(--amber); }

/* -----------------------------------------------------------------------------
   23. Хлебные крошки, сообщения, пустые состояния
   -------------------------------------------------------------------------- */
.crumbs {
	display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
	max-width: var(--maxw); margin: 0 auto; padding: 12px var(--pad);
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .06em;
	color: var(--ink-4); text-transform: uppercase;
}
.crumbs a { color: var(--ink-4); }
.crumbs a:hover { color: var(--amber); }
.crumbs > span:last-child { color: var(--ink-2); }

.msg {
	border: 1px solid var(--line); background: var(--surface);
	border-left: 2px solid var(--amber); padding: 16px 18px; margin-bottom: var(--gap);
}
.msg__t { font-size: var(--fs-lg); font-weight: 600; margin-bottom: 6px; }
.msg__b { font-size: var(--fs-body); color: var(--ink-3); line-height: 1.6; text-wrap: pretty; }
.msg__b a { color: var(--amber); }
.msg--bad { border-left-color: var(--red); }
.msg--ok  { border-left-color: var(--green); }

.empty {
	border: 1px dashed var(--line-mid); padding: 40px 24px; text-align: center;
}
.empty__t { font-size: var(--fs-lg); margin-bottom: 7px; }
.empty__b { font-size: var(--fs-body); color: var(--ink-3); }
.empty__act { margin-top: 18px; display: inline-flex; }

/* Тост */
.toasts { position: fixed; left: 24px; bottom: 24px; z-index: 2000; display: flex; flex-direction: column; gap: 8px; max-width: min(420px, calc(100vw - 48px)); }
.toast {
	border: 1px solid var(--amber); background: #141410; color: var(--ink);
	padding: 14px 18px; font-family: var(--font-mono); font-size: var(--fs-sm);
	letter-spacing: .04em; line-height: 1.5;
	animation: toast-in .22s var(--ease);
}
.toast--bad { border-color: var(--red); }
.toast--ok  { border-color: var(--green); }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px) } to { opacity: 1; transform: none } }
@media (prefers-reduced-motion: reduce) { .toast { animation: none } }

/* Шаги «как начать» */
.step__n { font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--amber); letter-spacing: var(--tr-label); margin-bottom: 12px; text-transform: uppercase; }
.step__t { font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.step__b { font-size: var(--fs-body); color: var(--ink-3); line-height: 1.6; margin-bottom: 14px; text-wrap: pretty; }

/* Иконки */
.icon { width: 1em; height: 1em; display: inline-block; vertical-align: -.13em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; }
.icon--fill { fill: currentColor; stroke: none; }
.icon--16 { width: 16px; height: 16px; }
.icon--14 { width: 14px; height: 14px; }
.icon--20 { width: 20px; height: 20px; }

/* -----------------------------------------------------------------------------
   24. Мобильная навигация
   -------------------------------------------------------------------------- */
.mobilenav {
	display: none; border-bottom: 1px solid var(--line); background: var(--bg);
	position: relative; z-index: 25;
}
.mobilenav.is-open { display: block; }
.mobilenav__in { padding: 8px var(--pad) 20px; display: flex; flex-direction: column; gap: 2px; }
.mobilenav a {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 0; border-bottom: 1px solid var(--line-soft);
	font-family: var(--font-mono); font-size: var(--fs-cap); letter-spacing: var(--tr-nav);
	color: var(--ink-2); text-transform: uppercase;
}
.mobilenav a:hover, .mobilenav a.is-active { color: var(--amber); }
.mobilenav .btnrow { margin-top: 16px; }
.mobilenav .btnrow .btn { flex: 1; }

/* -----------------------------------------------------------------------------
   25. Адаптив
   -------------------------------------------------------------------------- */
@media (max-width: 1500px) {
	:root { --aside: 320px; --gap-lg: 26px; }
}

@media (max-width: 1280px) {
	:root { --pad: 18px; --aside: 300px; --aside-sm: 290px; }
	.nav { gap: 16px; font-size: var(--fs-xs); }
	.mast__left { gap: 22px; }
	.mon__head, .mon__row { grid-template-columns: 14px minmax(0,1fr) 84px 150px 84px 108px; gap: 12px; }
	.hero { grid-template-columns: minmax(0,1fr) 320px; }
	.prof { grid-template-columns: 170px minmax(0,1fr) 340px; }
	.grid--split { grid-template-columns: minmax(0,1fr) 320px; }
}

@media (max-width: 1100px) {
	.layout, .layout--gap { grid-template-columns: minmax(0,1fr); gap: var(--gap-lg); }
	.layout > .layout__aside { border-left: 0; border-top: 1px solid var(--line); padding: 26px var(--pad) 34px; }
	.layout--gap > .layout__aside { border-top: 0; padding: 0; }
	.grid--5 { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.hero { grid-template-columns: minmax(0,1fr); }
	.grid--split { grid-template-columns: minmax(0,1fr); }
	.prof { grid-template-columns: 170px minmax(0,1fr); }
	.prof > .stats { grid-column: 1 / -1; }
	.cab { grid-template-columns: 200px minmax(0,1fr); }
	.auth { grid-template-columns: minmax(0,1fr) 440px; }
	.qsearch input[type="search"], .qsearch input[type="text"] { width: 150px; }
}

@media (max-width: 900px) {
	.nav, .mast__right .userchip, .mast__right .qsearch { display: none; }
	.burger { display: inline-flex; }
	.mon__head { display: none; }
	.mon__row {
		grid-template-columns: 14px minmax(0,1fr) auto;
		grid-template-areas: "dot name online" ". meter meter" ". act act";
		row-gap: 12px; padding: 16px;
	}
	.mon__row > :nth-child(1) { grid-area: dot; align-self: start; margin-top: 6px; }
	.mon__row > :nth-child(2) { grid-area: name; }
	.mon__row > :nth-child(3) { display: none; }
	.mon__row > :nth-child(4) { grid-area: meter; }
	.mon__row > :nth-child(5) { grid-area: online; }
	.mon__row > :nth-child(6) { grid-area: act; justify-self: start; width: auto; padding-left: 18px; padding-right: 18px; }
	.postcard { grid-template-columns: 180px minmax(0,1fr); }
	.newsline { grid-template-columns: 72px minmax(0,1fr); }
	.newsline__num { grid-column: 2; text-align: left; }
	.servertabs { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.servertabs .servertab:nth-child(odd) { border-right: 1px solid var(--line); }
	.servertabs .servertab:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
	.servertabs__ink { display: none; }
	.cab { grid-template-columns: minmax(0,1fr); }
	.cabnav { border-right: 0; border-bottom: 1px solid var(--line); min-height: 0; padding: 14px 0; }
	.cabnav__list { display: flex; overflow-x: auto; gap: 0; scrollbar-width: none; }
	.cabnav__list::-webkit-scrollbar { display: none; }
	.cabnav__ink { display: none; }
	.cabnav a { white-space: nowrap; border-bottom: 2px solid transparent; height: auto; padding: 10px 14px; }
	.cabnav a.is-active { border-bottom-color: var(--amber); background: transparent; }
	.cabnav__foot { display: none; }
	.auth { grid-template-columns: minmax(0,1fr); }
	.auth__art { display: none; }
	.auth__form { padding: 32px var(--pad); }
	.prof { grid-template-columns: 130px minmax(0,1fr); gap: 20px; }
	.prof__skin { height: 190px; }
	.capepick { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.serverpick { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; }
	.serverpick button { min-width: 0; }
	.serverpick__ink { display: none; }
	.cart { position: static; }
}

@media (max-width: 680px) {
	:root { --pad: 14px; --gap: 10px; --gap-lg: 20px; --pad-card: 15px; }
	.ribbon__in { flex-wrap: wrap; padding-top: 7px; padding-bottom: 7px; row-gap: 6px; }
	.ribbon__group--end { width: 100%; justify-content: space-between; }
	.grid--4, .grid--3, .grid--5, .grid--2, .form-grid { grid-template-columns: minmax(0,1fr); }
	.stats, .stats--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.postcard { grid-template-columns: minmax(0,1fr); }
	.postcard__cover { height: 170px; }
	.newsline { grid-template-columns: minmax(0,1fr); gap: 10px; }
	.newsline__date { display: flex; gap: 6px; }
	.newsline__date br { display: none; }
	.servertabs { grid-template-columns: minmax(0,1fr); }
	.servertabs .servertab { border-right: 0; border-bottom: 1px solid var(--line); }
	.servertabs .servertab:last-child { border-bottom: 0; }
	.tbl__head { display: none; }
	.tbl__row {
		grid-template-columns: minmax(0,1fr) auto !important;
		row-gap: 6px; padding: 14px;
	}
	.tbl__row > * { text-align: left !important; }
	.tbl__row > *:nth-child(n+3) { grid-column: 1 / -1; }
	.comment .comments-tree-list, .comment__replies { margin-left: 0; }
	.commentform__row > .face, .comment__in > .face { display: none; }
	.prof { grid-template-columns: minmax(0,1fr); }
	.prof__skin { height: 260px; max-width: 200px; }
	.capepick { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.serverpick { grid-template-columns: minmax(0,1fr); }
	.toasts { left: 14px; right: 14px; bottom: 14px; max-width: none; }
	.foot__in { flex-direction: column; align-items: flex-start; gap: 14px; }
	.hero__shot { height: 180px; }
	.mon__row > :nth-child(6) { width: 100%; }
}

/* -----------------------------------------------------------------------------
   26. Мелочи движка, для которых нет отдельного блока
   -------------------------------------------------------------------------- */
.hide-sm { display: inline; }
@media (max-width: 900px) { .hide-sm { display: none !important; } }

/* Меню категорий */
.catmenu { display: flex; flex-direction: column; }
.catmenu li a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 11px 0; border-bottom: 1px solid var(--line-soft); font-size: var(--fs-body);
}
.catmenu li:last-child > a { border-bottom: 0; }
.catmenu ul { padding-left: 14px; border-left: 1px solid var(--line-soft); }

/* Рейтинг новости/комментария */
.rate {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-mono); font-size: var(--fs-xxs);
	letter-spacing: .06em; color: var(--ink-3);
}
.rate span[title] { cursor: pointer; }
.rate span[title]:hover { color: var(--amber); }

/* Списки голосования DLE */
.vote_list li { padding: 7px 0; font-size: var(--fs-body); color: var(--ink-2); }
.vote_list label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
.vote_list input[type="radio"], .vote_list input[type="checkbox"] { accent-color: var(--amber); margin-top: 3px; }

/* Список личных сообщений */
.pmlist .pm_list { display: block; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); }
.pmlist .pm_list:last-child { border-bottom: 0; }

/* Прогресс лимита ЛС */
.pm_status .progress { margin-bottom: 6px; }

/* Тонкая настройка ссылок внутри карточек */
.card a:not(.btn):not(.chip) { color: inherit; }
.card a:not(.btn):not(.chip):hover { color: var(--amber); }

/* Тег «нет данных» */
.nodata { font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-5); text-transform: uppercase; letter-spacing: .06em; }

/* -----------------------------------------------------------------------------
   27. Печать
   -------------------------------------------------------------------------- */
@media print {
	.ribbon, .mast, .mobilenav, .layout__aside, .foot, .pager, .commentform, .toasts, .crumbs { display: none !important; }
	body { background: #fff; color: #000; }
	.panel, .card, .article { border-color: #ccc; background: #fff; }
	.content { color: #000; font-size: 12pt; }
	a { color: #000; }
}
@charset "utf-8";
/* =============================================================================
   ARMLIX — тёмная тема для служебных элементов DataLife Engine.
   Подключается ПОСЛЕ engine.css и styles.css и перекрывает базовые стили
   движка: диалоги jQuery UI, BB-редактор, уведомления, рейтинги, ЛС,
   загрузчик файлов, TinyMCE, капчу, календарь.
   ============================================================================= */

/* ---------- Индикатор загрузки -------------------------------------------- */
#loading-layer,
#loading-layer.withtext,
#loading-layer.withouttext {
	background: #141410 !important;
	border: 1px solid var(--amber);
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: var(--fs-sm);
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 12px 16px;
}

/* ---------- Цитаты, спойлеры, код ----------------------------------------- */
.scriptcode, .title_quote, .title_spoiler, .text_spoiler, .quote, blockquote {
	background: var(--surface-in);
	border: 1px solid var(--line);
	color: var(--ink-2);
	border-radius: 0;
	padding: 14px 16px;
}
.quote, blockquote, .title_quote { border-left: 2px solid var(--amber); }
.title_quote { font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); font-weight: 600; border-bottom: 0; }
.title_spoiler {
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .08em;
	text-transform: uppercase; color: var(--ink-2); cursor: pointer; font-weight: 400;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.title_spoiler:hover { color: var(--amber); border-color: var(--amber); }
.text_spoiler { border-top: 0; }
.scriptcode { font-family: var(--font-mono); color: var(--ink-2); text-align: left; overflow-x: auto; }
.hide {
	background: var(--surface); border: 1px dashed var(--line-mid);
	color: var(--ink-3); padding: 14px 16px; margin: 0 0 1em;
}
.hide a { color: var(--amber); text-decoration: none; border-bottom: 1px solid rgba(222,165,45,.4); }
.quote_block { margin-bottom: .7rem; }
.quote_link { color: var(--amber); }

/* ---------- Сортировка ----------------------------------------------------- */
.sort > li a { color: var(--ink-3); font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .06em; text-transform: uppercase; }
.sort > li.asc a, .sort > li.desc a { color: var(--amber); }

/* ---------- Кнопки движка -------------------------------------------------- */
.btn, .bbcodes, .btn-border, .btn-big, .btn-white {
	background: transparent !important;
	border: 1px solid var(--line-strong) !important;
	color: var(--ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-family: var(--font-mono);
	font-size: var(--fs-sm);
	letter-spacing: var(--tr-btn);
	text-transform: uppercase;
	padding: 10px 16px;
	transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.btn:hover, .bbcodes:hover, .btn-border:hover, .btn-big:hover, .btn-white:hover {
	border-color: var(--amber) !important;
	color: var(--amber) !important;
	background: transparent !important;
}
.btn > .icon, .btn-white > .icon { fill: currentColor !important; }
.form_submit .btn, input[type="submit"].btn {
	background: var(--amber) !important; border-color: var(--amber) !important;
	color: var(--bg) !important; font-weight: 600;
}
.form_submit .btn:hover, input[type="submit"].btn:hover {
	background: var(--amber-hi) !important; border-color: var(--amber-hi) !important; color: var(--bg) !important;
}
.bbcodes { padding: 7px 10px; font-size: var(--fs-xxs); }

/* ---------- BB-редактор ---------------------------------------------------- */
.bb-editor { background: transparent; }
.bb-pane {
	background: var(--surface-in); border: 1px solid var(--line-mid); border-bottom: 0;
	padding: 8px; display: flex; flex-wrap: wrap; gap: 4px;
}
.bb-editor textarea, .bb-editor textarea:focus {
	background: var(--surface-in) !important;
	border: 1px solid var(--line-mid) !important;
	color: var(--ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--font-sans);
	font-size: var(--fs-md);
	padding: 12px 14px;
}
.bb-editor textarea:focus { border-color: var(--amber) !important; }

/* ---------- Эмодзи --------------------------------------------------------- */
.emoji_box {
	background: var(--surface) !important; border: 1px solid var(--line) !important;
	border-radius: 0 !important; box-shadow: none !important; color: var(--ink);
}
.emoji_category { color: var(--ink-4); font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: .1em; text-transform: uppercase; }
.emoji_symbol:hover, .emoji_list li:hover { background: rgba(255,255,255,.06); }

/* ---------- Диалоги jQuery UI --------------------------------------------- */
.ui-widget-overlay { background: rgba(6,6,5,.78) !important; opacity: 1 !important; }
.ui-dialog {
	background: var(--surface) !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.6) !important;
	color: var(--ink) !important;
	padding: 0 !important;
	font-family: var(--font-sans);
}
.ui-dialog-titlebar {
	background: var(--surface-in) !important;
	border: 0 !important; border-bottom: 1px solid var(--line) !important;
	border-radius: 0 !important;
	color: var(--ink) !important;
	padding: 13px 16px !important;
	font-family: var(--font-mono) !important;
	font-size: var(--fs-xs) !important;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.ui-dialog-title { text-shadow: none !important; font-weight: 600 !important; }
.ui-dialog-titlebar-close { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.ui-dialog-titlebar-close .ui-icon { opacity: .6; }
.ui-dialog-titlebar-close:hover .ui-icon { opacity: 1; }
.ui-dialog-content { background: var(--surface) !important; border: 0 !important; color: var(--ink-2) !important; padding: 18px !important; }
.ui-dialog label { color: var(--ink-3) !important; }
.ui-dialog .ui-dialog-buttonpane { border-top: 1px solid var(--line) !important; background: var(--surface-in) !important; padding: 12px 16px !important; margin: 0 !important; }
.ui-dialog-buttonset button,
.ui-dialog-buttonset button:first-child,
.ui-dialog-buttonset button:last-child {
	background: transparent !important;
	border: 1px solid var(--line-strong) !important;
	color: var(--ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important; text-shadow: none !important;
	font-family: var(--font-mono); font-size: var(--fs-xxs);
	letter-spacing: var(--tr-btn); text-transform: uppercase;
	padding: 9px 15px !important; margin-left: 8px;
}
.ui-dialog-buttonset button:first-child {
	background: var(--amber) !important; border-color: var(--amber) !important;
	color: var(--bg) !important; font-weight: 600;
}
.ui-dialog-buttonset button:first-child:hover { background: var(--amber-hi) !important; border-color: var(--amber-hi) !important; }
.ui-dialog-buttonset button:last-child:hover { border-color: var(--line-hi) !important; color: var(--ink) !important; }
.ui-dialog-buttonset button.ui-button-delete,
.dle-popup-userprofileadmin .ui-dialog-buttonset button:nth-child(2) {
	background: transparent !important; border-color: var(--red) !important; color: var(--red) !important;
}
.ui-dialog-buttonset button.ui-button-delete:hover { background: var(--red-dim) !important; }
.ui-dialog input[type="text"], .ui-dialog input[type="password"], .ui-dialog textarea, .ui-dialog select {
	background: var(--surface-in) !important; border: 1px solid var(--line-mid) !important; color: var(--ink) !important;
}

/* Автодополнение */
.ui-autocomplete {
	background: var(--surface) !important; border: 1px solid var(--line-strong) !important;
	border-radius: 0 !important; box-shadow: 0 12px 30px rgba(0,0,0,.5) !important;
	padding: 0 !important; z-index: 3000;
}
.ui-autocomplete .ui-menu-item-wrapper, .ui-autocomplete li a {
	color: var(--ink-2) !important; padding: 9px 13px !important; border: 0 !important;
	background: transparent !important; font-size: var(--fs-body);
}
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active, .ui-autocomplete li a:hover {
	background: rgba(255,255,255,.06) !important; color: var(--amber) !important;
}

/* ---------- Уведомления DLEPush ------------------------------------------- */
.DLEPush-notification, .DLEPush {
	background: #141410 !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: 0 !important;
	box-shadow: 0 12px 34px rgba(0,0,0,.55) !important;
	color: var(--ink) !important;
	font-family: var(--font-sans);
}
.DLEPush-header {
	color: var(--ink) !important; font-family: var(--font-mono);
	font-size: var(--fs-xs); letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
}
.DLEPush-message { color: var(--ink-3) !important; font-size: var(--fs-body); }
.DLEPush-notification.push-success { border-color: var(--green) !important; }
.DLEPush-notification.push-error { border-color: var(--red) !important; }
.DLEPush-notification.push-warning { border-color: var(--amber) !important; }
.DLEPush-close { color: var(--ink-4) !important; opacity: 1; }
.DLEPush-close:hover { color: var(--ink) !important; }

/* ---------- Рейтинги ------------------------------------------------------- */
.ratingplus  { color: var(--green) !important; }
.ratingminus { color: var(--red) !important; }
.ratingzero  { color: var(--ink-4) !important; }
.rating, .unit-rating { filter: saturate(.85); }
.rating a:hover { color: var(--amber); }

/* ---------- Голосования / опросы ------------------------------------------ */
.voteprogress, .pollprogress {
	background: rgba(255,255,255,.09) !important; border-radius: 0 !important;
	height: 5px !important; box-shadow: none !important; overflow: hidden;
}
.voteprogress span, .pollprogress span {
	background: var(--amber) !important; border-radius: 0 !important;
	box-shadow: none !important; height: 5px !important; display: block;
}
.pollprogress .poll2, .voteprogress .vote2 { background: var(--red) !important; }
.pollprogress .poll3, .voteprogress .vote3 { background: var(--green) !important; }
.pollprogress .poll4, .voteprogress .vote4 { background: #6aa9d8 !important; }
.pollprogress .poll5, .voteprogress .vote5 { background: var(--amber-hi) !important; }
.progress { background: rgba(255,255,255,.09) !important; border-radius: 0 !important; height: 5px; }
.progress-bar, .progress-blue { background: var(--amber) !important; border-radius: 0 !important; }

/* ---------- Личные сообщения ---------------------------------------------- */
.pm_head, .pm_list, .pm_subj, .pm_with_user, .pm_last_user, .pm_last_date, .pm_last_message {
	color: inherit;
}
.pm_head {
	font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: .1em;
	text-transform: uppercase; color: var(--ink-4);
	border-bottom: 1px solid var(--line); padding: 10px 16px; background: transparent;
}
.pm_last_date { font-family: var(--font-mono); font-size: var(--fs-xxs); color: var(--ink-4); }
.pm_last_message { color: var(--ink-3); font-size: var(--fs-body); }
.pm-unread-image, .pm-read-image, .pm-reply-image { filter: invert(.85) grayscale(1) contrast(.9); opacity: .7; }

/* ---------- Загрузчик файлов ---------------------------------------------- */
.qq-uploader { background: transparent; }
.qq-upload-button {
	background: transparent !important; border: 1px solid var(--line-strong) !important;
	color: var(--ink) !important; border-radius: 0 !important; box-shadow: none !important;
	font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: var(--tr-btn);
	text-transform: uppercase; padding: 10px 16px;
}
.qq-upload-button:hover { border-color: var(--amber) !important; color: var(--amber) !important; }
.qq-upload-drop-area {
	background: var(--surface-in) !important; border: 1px dashed var(--line-mid) !important;
	color: var(--ink-3) !important; border-radius: 0 !important;
}
.qq-upload-drop-area-active { border-color: var(--amber) !important; background: rgba(222,165,45,.05) !important; }
.qq-upload-file, .qq-upload-size { color: var(--ink-3) !important; font-size: var(--fs-body-s); }
.file-box { border: 1px solid var(--line); background: var(--surface); padding: 12px 14px; }

/* ---------- TinyMCE -------------------------------------------------------- */
.tox .tox-tinymce, .tox.tox-tinymce-inline .tox-editor-header {
	border: 1px solid var(--line-mid) !important; border-radius: 0 !important; box-shadow: none !important;
}
.tox .tox-toolbar__primary, .tox .tox-toolbar-overlord, .tox .tox-editor-header {
	background: var(--surface-in) !important; border-color: var(--line) !important;
}
.tox .tox-dialog__header, .tox .tox-dialog__footer { background: var(--surface-in) !important; border-color: var(--line) !important; }
.tox .tox-button {
	background: var(--amber) !important; border-color: var(--amber) !important;
	color: var(--bg) !important; border-radius: 0 !important;
}
.tox .tox-button--secondary {
	background: transparent !important; border-color: var(--line-strong) !important; color: var(--ink) !important;
}

/* ---------- Капча ---------------------------------------------------------- */
.c-captcha, .dle-captcha, .smart-captcha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.c-captcha img, .dle-captcha img { border: 1px solid var(--line-mid); }

/* ---------- Календарь ------------------------------------------------------ */
.calendar { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: var(--fs-xs); }
.calendar tr th {
	background: transparent !important; color: var(--ink-4) !important;
	font-weight: 400; text-transform: uppercase; letter-spacing: .06em;
	border-bottom: 1px solid var(--line); padding: 8px 3px;
}
.calendar tr th.weekday { background: transparent !important; color: var(--red) !important; }
.calendar tr th.monthselect { color: var(--ink-2) !important; padding-bottom: 12px; }
.calendar tr th.monthselect a { color: var(--ink-2) !important; }
.calendar tr td { padding: 6px 3px; color: var(--ink-3); }
.calendar tr td.weekday { color: var(--red); }
.calendar tr td a { color: var(--amber) !important; font-weight: 400; }
.monthselect-inner { background: var(--surface) !important; border: 1px solid var(--line-strong) !important; }
.monthselect-title { color: var(--ink) !important; }

/* ---------- Прочее --------------------------------------------------------- */
.searchheading { font-family: var(--font-mono); font-size: var(--fs-xxs); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-4); }
.notfound { color: var(--ink-3); }
.comments-user-profile { color: var(--ink); }
.masha-marker { background: var(--amber-dim) !important; border-bottom: 1px solid var(--amber); }
.masha-social { background: var(--surface) !important; border: 1px solid var(--line-strong) !important; border-radius: 0 !important; }
.txtsel_close { color: var(--ink-4) !important; }
.social-list-item, .ignore-list-item { border-bottom: 1px solid var(--line-soft); padding: 10px 0; }
.seperator { border-top: 1px solid var(--line); margin: 16px 0; }
.dleshowhidden { color: var(--amber); }
.quick-edit-text, .quick-edit-textarea {
	background: var(--surface-in) !important; border: 1px solid var(--line-mid) !important;
	color: var(--ink) !important; border-radius: 0 !important;
}
.form-check-input { accent-color: var(--amber); }
.image-bordered { border: 1px solid var(--line); }
.image-shadows { box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.katex { color: var(--ink); }
.mathml-container, .mathml-block, .mathml-inline { color: var(--ink); }

/* Галерея вложений в комментариях */
.comments-image-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.comments-image-gallery img { border: 1px solid var(--line); }

/* Навигация движка (если где-то выводится классом .navigation) */
.navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.navigation a, .navigation span {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: .06em;
	border: 1px solid var(--line-mid); color: var(--ink-2); padding: 9px 14px; min-width: 40px;
}
.navigation a:hover { border-color: var(--line-hi); color: var(--ink); }
.navigation span:not(.nav_ext) { border-color: var(--amber); color: var(--amber); }
.navigation span.nav_ext { border-color: transparent; }
