/* ===== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ DLE (НЕ КОНФЛИКТУЮЩИЕ С ШАБЛОНОМ) ===== */
/* Используют переменные :root из шаблона */

/* --- Загрузчик --- */
#loading-layer {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  padding: 10px;
  text-align: center;
  color: var(--accent-yellow);
  border-radius: 24px;
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
}
#loading-layer.withouttext {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  padding: 5px 5px 0px 5px;
  text-align: center;
  color: var(--accent-yellow);
  border-radius: 50%;
  border: 1px solid var(--glass-border);
}
#loading-layer.withtext {
  padding: 10px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  color: var(--accent-yellow);
  border-radius: 24px;
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
}

/* --- Цитаты, спойлеры, код --- */
.scriptcode, .title_quote, .title_spoiler, .text_spoiler, .quote {
  padding: 10px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  color: var(--text-light);
}
.title_quote {
  border-left: 2px solid var(--accent-orange);
  border-bottom: 0;
  margin-top: 2px;
  font-weight: bold;
  color: var(--accent-yellow);
}
.quote, blockquote {
  padding: 1% 4%;
  border-left: 2px solid var(--accent-orange);
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border-radius: 16px;
}
.title_spoiler {
  margin-top: 2px;
  background: rgba(243, 156, 18, 0.2);
  backdrop-filter: blur(12px);
  color: #fff;
  border: 1px solid var(--glass-border);
  border-radius: 16px 16px 0 0;
  font-weight: normal;
}
.text_spoiler {
  margin-bottom: 2px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border: 1px solid var(--glass-border);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  text-align: justify;
}
.title_spoiler img {
  vertical-align: middle;
  margin: -1px 0 0 !important;
}
.title_spoiler a {
  color: #fff;
}
.scriptcode {
  color: var(--accent-yellow);
  text-align: left;
  font-family: "Courier New", monospace;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
}
.hide {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  padding: 5px;
  color: var(--accent-yellow);
  margin: 0 0 1em 0;
  border: 1px solid var(--glass-border);
  border-radius: 16px;
}
.hide a {
  text-decoration: underline;
  color: var(--accent-yellow);
}
.hide a:hover {
  text-decoration: none;
  color: var(--accent-orange);
}

/* --- Сортировка --- */
.sort {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sort > li, .sort {
  display: inline;
}
.sort > li {
  margin: 0 0 0 3%;
}
.sort > li a {
  color: var(--text-light);
}
.sort > li.asc a, .sort > li.desc a {
  color: var(--accent-orange);
}
.sort > li.asc a:after, .sort > li.desc a:after {
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 11' fill='%23f39c12'%3e%3cpath d='M3 0l3 3H0l3-3zM3 11l3-3H0l3 3z'/%3e%3c/svg%3e");
  display: inline-block;
  vertical-align: middle;
  margin: -1px 0 0 .4em;
  width: 6px;
  height: 11px;
  background-size: 6px auto;
}
.sort > li.asc a:after {
  transform: rotate(180deg);
}

/* --- Календарь --- */
.calendar {
  width: 100%;
  text-align: center;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  padding: 10px;
}
.calendar tr td, .calendar tr th {
  padding: 3px;
  color: var(--text-light);
}
.calendar tr td a {
  color: var(--accent-yellow);
  font-weight: bold;
}
.calendar tr td {
  padding: 5px 3px;
}
.calendar tr td.weekday {
  color: var(--accent-orange);
}
.calendar tr th {
  background-color: rgba(0, 0, 0, 0.3);
  font-weight: bold;
  text-transform: uppercase;
  color: var(--text-light);
  border-radius: 12px;
}
.calendar tr th.weekday {
  background-color: var(--accent-orange);
  color: #000;
}
.calendar tr th.monthselect {
  background-color: transparent;
  color: #888;
  padding-bottom: 15px;
}
.calendar tr th.monthselect a {
  color: #888;
}

/* --- Прогресс-бары --- */
.voteprogress, .pollprogress {
  overflow: hidden;
  height: 6px;
  margin-bottom: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  margin-top: 6px;
}
.voteprogress span, .pollprogress span {
  text-indent: -9999px;
  height: 6px;
  display: block;
  overflow: hidden;
  background: var(--accent-orange);
  border-radius: 3px;
}
.voteprogress .vote2, .pollprogress .poll2 { background-color: #e67e22; }
.voteprogress .vote3, .pollprogress .poll3 { background-color: #8bc34a; }
.voteprogress .vote4, .pollprogress .poll4 { background-color: #2196f3; }
.voteprogress .vote5, .pollprogress .poll5 { background-color: var(--accent-yellow); }

/* --- Рейтинг --- */
.rating, .unit-rating {
  width: 115px;
  height: 23px;
}
.rating {
  font-size: 11px;
  color: var(--text-light);
}
.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/HRY2ubn2MeB1a5ukxtEUGkEp4bTVchtvhLzfORaE/NV7VCDnlFzJPSKPJmEcczpffhg4x13zvB2nVxXvDdP2oKNHU+FOAyi+r/xRgWn9sOVVRKv8/ycJmlc/0nx8iOYrMRLXC5EibYUIKN4iBGl8KMQoaSsEaZwTIo7Z3tHkoihpdX7mBOiysJSHhJYCWMDExho1JjfXPgP8ZG2T0zhub7SjecJpK+U23gz5iHMsHRJpLuTDzmoqjnNEJRXTbByTv/Gd48YD+WHgHHddtsMnrhb5MO0gih/b/7ZfQQWWA+WPCizph22vojKr7Y3mTec0L7bT/K6T5ukIbctYgbRlLEPxRsbOSVvGWSeeZYw0ZiVh9vpwfyX5xfXDJ1CJDHVAQlOQtvXOxMYazSa/9UDvGqIOrWmNI/ZxXjS/xCOrjHjSZ3g7Wg1CmsZZ6Eq9P1LAR1RCXDaOpKGtOV2mGUaD48pGRXliFL8jTNuF4odB2tKoQDaj/FGBG/3w4f0LfQHtX5JXyZBVcwAAAABJRU5ErkJggg==);
  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: 0;
}
.ratingplus { color: #8bc34a; }
.ratingminus { color: #e67e22; }
.ratingzero { color: #888; }

/* --- Таблицы пользователей и ЛС --- */
.userstop td, .pm td.pm_list, .pm th.pm_head {
  border-bottom: 1px solid var(--glass-border);
  padding: 12px 8px;
  color: var(--text-light);
}
table.pm, table.userstop {
  width: 100%;
  margin-bottom: 0;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  overflow: hidden;
}
table.pm select {
  width: 190px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 0.3rem 1.5rem 0.3rem 0.5rem;
}
.userstop thead td, .pm td.pm_head {
  border-bottom: 1px solid var(--glass-border);
  font-weight: bold;
  color: var(--accent-yellow);
}
table.pm .navigation {
  border-top-width: 0;
  margin: 0;
}
.pm th {
  text-align: left;
  font-weight: 500;
  white-space: nowrap;
  color: var(--accent-yellow);
}
.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.4rem;
  height: 1.4rem;
  vertical-align: middle;
}
.pm_list.pm_icon.pm-unread-image { color: var(--accent-orange); }
.pm td.pm_list.pm_icon, .userstop td, th.pm_head.pm_icon { border-bottom: none; }
.pm_list.pm_icon.pm-reply-image { color: #8bc34a; }
.pm_list.pm_icon.pm-read-image { color: #888; }
.pm_list .pm_last_message, .pm_list .pm_last_date, .pm_list .pm_with_user {
  color: var(--text-muted-glass);
  font-size: 0.8rem;
}
.pm tbody > tr:hover { background-color: rgba(255, 255, 255, 0.03); }
.pm_navigation { margin-top: 1rem; }
.pm_navigation .navigation {
  display: inline-block;
  color: var(--text-light);
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 40px;
  padding: 0.4rem;
}
.pm_navigation .navigation a, .pm_navigation .navigation span {
  padding: 0.5rem;
  min-width: 2.25rem;
  display: inline-block;
  border-radius: 40px;
}
.pm_navigation .navigation span {
  background: var(--accent-orange);
  color: #000;
}
.pm_navigation .navigation a {
  text-decoration: none;
  color: var(--accent-yellow);
}
.pm_navigation .navigation a:hover { background: rgba(255, 255, 255, 0.1); }

/* --- Выпадающие меню DLE --- */
#dropmenudiv {
  padding: 10px 0;
  min-width: 140px;
  width: auto !important;
  font-size: 0.9em;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
  color: var(--text-light);
}
#dropmenudiv a {
  text-decoration: none !important;
  color: var(--accent-yellow);
  display: block;
  padding: 3px 20px;
  border: 0 none;
  white-space: nowrap;
}
#dropmenudiv a:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--accent-orange);
}

/* --- Поисковые подсказки --- */
#searchsuggestions {
  z-index: 2200;
  width: 300px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
  font-size: 0.9em;
  color: var(--text-light);
  box-sizing: border-box;
}
#searchsuggestions a, #searchsuggestions span.notfound {
  padding: 15px 25px;
  display: block;
  text-decoration: none;
  border-bottom: 1px solid var(--glass-border);
  color: var(--text-light);
}
#searchsuggestions a {
  color: var(--accent-yellow);
}
#searchsuggestions a:hover {
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--accent-orange);
}
#searchsuggestions a span {
  display: block;
  cursor: pointer;
}
#searchsuggestions span.searchheading {
  display: block;
  font-weight: bold;
  margin-bottom: 0.2em;
  color: var(--accent-yellow);
}
#searchsuggestions span.seperator a {
  padding: 10px 0;
  text-align: center;
  border: 0 none;
  background-color: transparent;
  color: #888;
}
#searchsuggestions span.notfound {
  padding: 15px 25px;
}
#searchsuggestions .break { display: none; }

/* --- jQuery UI (для диалогов DLE) --- */
.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1040;
}
.ui-dialog {
  position: absolute;
  width: 370px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
  z-index: 1050;
  outline: none;
}
.ui-dialog-titlebar {
  padding: 10px 15px;
  position: relative;
  background: rgba(243, 156, 18, 0.2);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--glass-border);
  border-radius: 24px 24px 0 0;
  color: var(--accent-yellow);
}
.ui-dialog-title {
  float: left;
  font-weight: 600;
  font-size: 0.9rem;
}
.ui-dialog-titlebar-close {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -16px;
  height: 23px;
  width: 32px;
  border: 0 none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.ui-dialog-titlebar-close .ui-icon {
  display: block;
  margin: 9px auto 0;
  width: 12px;
  height: 12px;
  opacity: 0.8;
  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:hover .ui-icon { opacity: 1; }
.ui-dialog-content {
  padding: 20px;
  border: none;
  overflow: auto;
  color: var(--text-light);
}
.ui-dialog .ui-dialog-buttonpane {
  padding: 15px;
  text-align: right;
  border-top: 1px solid var(--glass-border);
}
.ui-button {
  font-size: 0.85rem;
  border: 0 none;
  cursor: pointer;
  border-radius: 40px;
  background: rgba(243, 156, 18, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--accent-orange);
  color: white;
  padding: 7px 19px;
  transition: 0.2s;
  display: inline-block;
  text-decoration: none;
  margin: 0 3px;
}
.ui-button:hover {
  background: var(--accent-orange);
  color: black;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(243, 156, 18, 0.4);
}
.ui-button:active { transform: translateY(0); }
.ui-state-error {
  background: rgba(220, 53, 69, 0.2) !important;
  backdrop-filter: blur(12px);
  border: 1px solid #dc3545;
  color: #ffb3b3;
  border-radius: 16px;
}
.ui-helper-hidden-accessible { display: none; }

/* --- Подсветка кода --- */
pre code {
  display: block;
  padding: 0.5em;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  overflow: auto;
  white-space: pre;
  max-height: 350px;
  color: var(--text-light);
}
.hljs-comment, .hljs-quote { color: #888; font-style: italic; }
.hljs-doctag, .hljs-keyword, .hljs-formula { color: var(--accent-orange); }
.hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst { color: #e67e22; }
.hljs-literal { color: var(--accent-yellow); }
.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { color: #8bc34a; }
.hljs-built_in, .hljs-class .hljs-title { color: var(--accent-yellow); }
.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr,
.hljs-selector-pseudo, .hljs-number { color: var(--accent-orange); }
.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { color: #2196f3; }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: bold; }
.hljs-link { text-decoration: underline; }

/* --- BB-редактор --- */
.bb-editor textarea {
  box-sizing: border-box;
  padding: 7px;
  border: 1px solid var(--glass-border);
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border-radius: 16px;
  margin-top: -1px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.bb-editor textarea:focus {
  border-color: var(--accent-orange) !important;
  box-shadow: 0 0 0 3px rgba(243, 156, 18, 0.2);
}

/* --- Эмодзи --- */
.emoji_box {
  width: 100%;
  max-width: 390px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
}
.emoji_category {
  padding: 7px;
  clear: both;
  color: var(--accent-yellow);
}
.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;
  color: var(--accent-yellow);
}

/* --- Быстрое редактирование --- */
.quick-edit-text {
  padding: 0.4em;
  width: 350px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}
.quick-edit-textarea {
  height: 250px;
  padding: 2px;
  border: 1px solid var(--glass-border);
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  border-radius: 16px;
}

/* --- Быстрые комментарии --- */
#dlefastreplycomments {
  padding: 0 4% 10px 4%;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  margin-top: 1rem;
}
#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;
  transition: opacity 0.4s, visibility 0.1s linear 0.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 var(--glass-border);
  border-radius: 40px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  padding: 5px 10px;
  cursor: default;
  box-shadow: var(--glass-shadow);
}
#marker-bar.show, #txtselect_marker.show {
  transition: opacity 0.4s, visibility 0s;
  opacity: 1;
  visibility: visible;
}
#txtselect_marker.show { width: 32px; height: 32px; }
#marker-bar .masha-social, #marker-bar .masha-marker {
  cursor: pointer;
  display: block;
  margin: 0 5px;
  float: left;
  color: var(--accent-yellow);
}
#marker-bar .masha-marker {
  line-height: 1em;
  border-bottom: 1px dotted var(--accent-yellow);
  margin-right: 10px;
}
#marker-bar .masha-marker:hover { color: var(--accent-orange); border-color: var(--accent-orange); }
.user_selection, .user_selection_true {
  background: rgba(243, 156, 18, 0.2);
  padding: 2px 0;
  border-radius: 4px;
}
.user_selection a.txtsel_close, .user_selection_true a.txtsel_close { display: none; }
.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 var(--glass-border);
  border-radius: 24px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  position: absolute;
  z-index: 100;
  width: 414px;
  display: none;
  padding: 20px 0;
  opacity: 0;
  box-shadow: var(--glass-shadow);
  transition: opacity 0.4s, visibility 0.1s linear 0.4s;
}
#share-popup.show { display: block; opacity: 1; transition: opacity 0.4s, visibility 0s; }
#share-popup .social { padding: 0 0 10px 17px; }
#share-popup .social p { padding-bottom: 10px; margin: 0; font-weight: bold; color: var(--accent-yellow); }
#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: var(--accent-yellow);
}
#share-popup .social ul a:hover { text-decoration: underline; color: var(--accent-orange); }
#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 var(--glass-border);
  padding: 10px 5px 0 10px;
  line-height: 1.2;
  overflow: hidden;
  margin: 0 7px;
}
#share-popup .link p { font-weight: bold; margin: 0; color: var(--accent-yellow); }
#share-popup .link span { color: var(--text-muted-glass); font-size: 10px; display: block; padding-top: 3px; }
#share-popup .link a { display: block; color: var(--accent-orange); }

/* --- Системные сообщения DLE --- */
.dle-alert, .dle-confirm, .dle-promt {
  padding: 20px 1em !important;
  background: var(--glass-bg) !important;
  backdrop-filter: blur(12px) !important;
  color: var(--text-light) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--glass-shadow) !important;
}

/* --- Капча --- */
.form_submit .c-captcha { float: right; }
.c-captcha:after, .dle-captcha:after { clear: both; display: block; content: ""; }
.c-captcha > a, .dle-captcha > a { float: left; margin-right: 5px; }
.c-captcha img, .dle-captcha img {
  position: relative;
  display: block;
  width: 130px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid var(--glass-border);
  transition: all 0.2s;
}
.c-captcha > input, .dle-captcha > input {
  float: left;
  width: 130px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--glass-border);
  color: var(--text-light);
  border-radius: 16px;
  padding: 0.5rem;
}

/* --- Кнопка с обводкой (специфичная для DLE) --- */
.btn-border {
  color: var(--accent-orange);
  border: 2px solid var(--accent-orange);
  line-height: 22px;
  padding: 5px 20px;
  background-color: transparent !important;
  border-radius: 40px;
  transition: 0.2s;
  display: inline-block;
}
.btn-border:hover {
  background: var(--accent-orange) !important;
  color: black !important;
}
.btn-big { padding: 12px 27px; border-radius: 40px; }

/* --- XFields --- */
table.xfields {
  width: 100%;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  color: var(--text-light);
}
.xfields textarea, .xprofile textarea {
  width: 100%;
  height: 186px;
  margin-top: 5px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--glass-border);
  color: var(--text-light);
  border-radius: 16px;
  padding: 0.5rem;
}
.xfields input[type="text"] {
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--glass-border);
  color: var(--text-light);
  border-radius: 16px;
  padding: 0.5rem;
}
.xfieldsdescr {
  width: 200px;
  color: var(--accent-yellow);
}
.xfields .bb-pane + textarea { margin-top: 0; }
.xfieldsnote {
  color: var(--text-muted-glass);
  font-size: 0.9em;
}
.xfields_table td { vertical-align: top; padding: 8px; }
.xfieldsrow { padding-top: 10px; clear: both; }
.xfieldscolleft {
  float: left;
  width: 30%;
  padding-top: 6px;
  color: var(--accent-yellow);
}
.xfieldscolright {
  float: left;
  width: 70%;
}
.file-box {
  width: 95%;
  max-width: 437px;
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  padding: 10px;
  margin-top: 10px;
  color: var(--text-light);
}
.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; display: inline-block;
}
.xfieldimagegallery li img, .comments-image-gallery li img {
  float: left;
  margin-right: 5px;
  border: 2px solid var(--glass-border);
  border-radius: 16px;
  width: 100px;
  height: 100px;
  transition: box-shadow 0.5s;
  object-fit: cover;
}
.xfieldimagegallery li img:hover, .comments-image-gallery li img:hover {
  box-shadow: 0 0 15px rgba(243, 156, 18, 0.4);
}

/* --- Загрузчик файлов --- */
.qq-uploader { position: relative; width: 100%; }
.qq-upload-button {
  display: inline-block;
  margin: 5px 0;
  cursor: pointer;
  background: rgba(243, 156, 18, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--accent-orange);
  color: white;
  padding: 7px 15px;
  border-radius: 40px;
  transition: 0.2s;
}
.qq-upload-button:hover {
  background: var(--accent-orange);
  color: black;
}
.qq-upload-drop-area {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  max-width: 437px;
  background: rgba(243, 156, 18, 0.1);
  backdrop-filter: blur(12px);
  border: 2px dashed var(--accent-orange);
  border-radius: 16px;
  text-align: center;
}
.qq-upload-drop-area span {
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -8px;
  font-size: 16px;
  color: var(--accent-yellow);
}
.qq-upload-drop-area-active { background: rgba(243, 156, 18, 0.2); }

/* --- Sortable --- */
.sortable-ghost {
  opacity: 0.4;
  background: rgba(255, 255, 255, 0.1);
}

/* --- Отключённые кнопки (для любых кнопок) --- */
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  box-shadow: none;
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--glass-border) !important;
}

/* --- Эмодзи (общие) --- */
.emoji { border: none; vertical-align: middle; width: 22px; height: 22px; }
.native-emoji { font-size: 1.3em; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols'; }

/* --- WYSIWYG редактор --- */
.wseditor {
  border-top: 2px solid var(--accent-orange);
  border-radius: 24px 24px 0 0;
  overflow: hidden;
}
.wseditor .tox-tinymce {
  border-top: none;
  border-radius: 0 0 24px 24px;
}
#dlefastreplycomments .wseditor { margin-bottom: 10px; }
.dlecomments-editor .tox .tox-toolbar__primary,
.dlefastedit-editor .tox .tox-toolbar__primary { border-top: 0; box-shadow: none; }

/* --- Оглавление (TOC) --- */
.mce-toc {
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  color: var(--text-light);
  margin: 0 0 0.7rem 0;
  border-radius: 24px;
  padding: 1rem;
}
.mce-toc h2 { margin: 4px; color: var(--accent-yellow); }
.mce-toc ul { padding-left: 20px; list-style: none; margin: 1em 0; }
.mce-toc li { list-style-type: none; color: var(--text-light); }
.mce-toc a { color: var(--accent-yellow); text-decoration: none; }
.mce-toc a:hover { color: var(--accent-orange); text-decoration: underline; }

/* --- Изображения с классами --- */
.image-bordered {
  border: 2px solid var(--glass-border);
  border-radius: 24px;
}
.image-shadows {
  box-shadow: rgba(243, 156, 18, 0.25) 0px 4px 8px -2px, rgba(243, 156, 18, 0.08) 0px 0px 0px 1px;
}
.image-padded {
  padding: 0.5rem;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border-radius: 24px;
}

/* --- Профиль пользователя в комментариях --- */
.comments-user-profile {
  font-weight: bold;
  cursor: pointer;
  color: var(--accent-orange);
}

/* --- Мобильный WYSIWYG --- */
.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: 12px 27px;
  border-radius: 40px;
  margin-left: 15px;
  outline: none;
  background: rgba(220, 53, 69, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid #dc3545;
  color: white;
  text-decoration: none !important;
  transition: 0.2s;
}
.self_delete_link:hover {
  background: #dc3545;
  color: white;
}

/* --- Поле автора комментария --- */
input[type="text"].comments_author_field {
  width: 100%;
  margin-bottom: 10px;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
  border: 1px solid var(--glass-border);
  color: var(--text-light);
  border-radius: 16px;
  padding: 0.6rem;
}

/* --- Push-уведомления --- */
.DLEPush { z-index: 2001; position: fixed; right: 20px; top: 20px; }
@keyframes DLEPush-show {
  0% { transform: translateY(100%); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
.DLEPush-notification.wrapper {
  animation: DLEPush-show 1s;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--text-light);
  margin-bottom: 10px;
  width: 100%;
  max-width: 400px;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
}
.DLEPush-notification .DLEPush-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: 45px;
  height: 100%;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
  background: var(--accent-orange);
}
.DLEPush-notification .DLEPush-icon svg { scale: 0.8; }
.DLEPush-notification .DLEPush-header {
  font-weight: 500;
  grid-column: 2;
  grid-row: 1;
  font-size: 1rem;
  margin-left: 1rem;
  margin-top: 0.5rem;
  color: var(--accent-yellow);
}
.DLEPush-notification .DLEPush-header:empty { margin-top: 0; }
.DLEPush-notification .DLEPush-message {
  grid-column: 2;
  grid-row: 2;
  font-size: 0.875rem;
  margin: 1rem;
  color: var(--text-light);
}
.DLEPush-notification .DLEPush-message li,
.DLEPush-notification .DLEPush-message ul { list-style: none; padding-left: 0; }
.DLEPush-notification .DLEPush-close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: 0;
  font-size: 1.15rem;
  cursor: pointer;
  padding: 0;
  color: var(--accent-yellow);
  opacity: 0.75;
  transition: opacity 0.2s;
}
.DLEPush-notification .DLEPush-close:hover { opacity: 1; color: var(--accent-orange); }

/* --- Адаптация для мобильных (DLE-специфика) --- */
@media only screen and (min-width: 601px) {
  .DLEPush-notification.wrapper { min-width: 400px; }
}
@media only screen and (max-width: 600px) {
  .xfieldscolleft, .xfieldscolright { float: none; width: 100%; }
}

/* --- Типы уведомлений --- */
.DLEPush-notification.wrapper.push-success {
  background: rgba(40, 167, 69, 0.2);
  backdrop-filter: blur(12px);
  border-color: #28a745;
}
.DLEPush-notification.wrapper.push-success .DLEPush-icon { background: #28a745; }
.DLEPush-notification.wrapper.push-warning {
  background: rgba(255, 193, 7, 0.2);
  backdrop-filter: blur(12px);
  border-color: #ffc107;
}
.DLEPush-notification.wrapper.push-warning .DLEPush-icon { background: #ffc107; }
.DLEPush-notification.wrapper.push-error {
  background: rgba(220, 53, 69, 0.2);
  backdrop-filter: blur(12px);
  border-color: #dc3545;
}
.DLEPush-notification.wrapper.push-error .DLEPush-icon { background: #dc3545; }