/* Сборка стилей Force-Zone. Источник: _src/patch/skin.css.
   Файл собирается патчем skin. Правки вручную будут перезаписаны. */

/* ===== FZ:СКИН:НАЧАЛО ===== */
@import url('../../../fonts/fonts.css');
@import url('../../../fz_type.css');
/* ==========================================================================
   FZ СКИН — современный слой поверх легаси-оформления vBulletin 3.8
   Перекрывает всё, что осталось от стиля 2008 года: рамки outset, градиентные
   GIF-подложки, 11px tahoma, подчёркнутые синие ссылки, системные поля ввода.
   Откат: удалить блок FZ:СКИН из headinclude.
   ========================================================================== */

/* ==========================================================================
   ОСНОВА. Эти блоки раньше лежали отдельным слоем в fz.css и перебивали
   новые правила своими !important. Теперь всё в одном файле, порядок
   предсказуемый: основа -> скин -> редизайн 2026.
   ========================================================================== */

/* ==========================================================================
   FZ FORUM — разделы карточками (только CSS, шаблоны не трогаем)
   Вставить в конец headinclude выбранного стиля форума.
   Откат: удалить этот блок.
   ========================================================================== */

/* ---- Категория: плоская тёмная плашка вместо градиента ---- */
.fz-cat-card { margin: 0 0 22px 0 !important; background: transparent !important; border: 0 !important; }
.tcat.fz-cat {
  background: var(--fz-graphite) !important;               /* ровный тёмно-серый, без градиента */
  background-image: none !important;
  border-radius: 10px 10px 0 0 !important;
  line-height: 34px !important; height: 34px;
  padding: 0 14px !important;
  display: flex !important; align-items: center; justify-content: space-between;
}
.tcat.fz-cat .fz-cat-title,
.tcat.fz-cat a.fz-cat-title:link,
.tcat.fz-cat a.fz-cat-title:visited {
  color: #ffffff !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .02em; text-transform: none; text-decoration: none !important;
}
.tcat.fz-cat .fz-cat-title:hover { color: var(--fz-accent) !important; }

/* сворачивалку: прячем старую gif-стрелку, рисуем аккуратный шеврон */
.fz-cat-collapse { float: none !important; order: 2; display: inline-flex; align-items: center; }
.fz-cat-collapse img { display: none !important; }
.fz-cat-collapse::after {
  content: ""; width: 8px; height: 8px; display: inline-block;
  border-right: 2px solid rgba(255,255,255,.6); border-bottom: 2px solid rgba(255,255,255,.6);
  transform: rotate(45deg); transition: transform .15s, border-color .15s; margin-bottom: 3px;
}
.fz-cat-collapse:hover::after { border-color: var(--fz-accent); }

/* ---- Список разделов: убираем табличную рамку ---- */
.fz-cat-card table.tborder {
  border: 0 !important; background: transparent !important;
  border-collapse: separate !important; border-spacing: 0 !important;
  margin-top: 8px !important;
}
.fz-cat-card table.tborder td { border: 0 !important; }

/* шапка колонок Раздел/Последнее/Ответов/Тем/Модератор — не нужна */
tr.fz-colhead { display: none !important; }

/* ---- Строка раздела -> карточка ---- */
tr.fz-forumrow {
  display: flex !important; align-items: center; gap: 14px;
  background: #ffffff !important; border: 1px solid #d9d9d9 !important;
  border-radius: 10px; padding: 12px 16px !important; margin: 0 0 8px 0;
  transition: border-color .15s, box-shadow .15s;
}
tr.fz-forumrow:hover { border-color: #b9b9b9 !important; box-shadow: 0 3px 10px rgba(0,0,0,.06); }

/* иконка */
td.fz-fcell-icon { flex: 0 0 auto; background: transparent !important; padding: 0 !important; }
td.fz-fcell-icon img.fz-ficon { width: 40px; height: 40px; object-fit: contain; display: block; }

/* центр: название + описание + подразделы */
td.fz-fcell-main { flex: 1 1 auto; min-width: 0; background: transparent !important; padding: 0 !important; }
.fz-ftitle a { font-size: 1.05rem !important; font-weight: 700; color: #202021 !important; text-decoration: none !important; }
.fz-ftitle a:hover { color: var(--fz-link) !important; }
.fz-fbrowsers { font-size: .72rem; color: #9a9a9a; margin-left: .4rem; font-weight: 400; }
.fz-fdesc { font-size: .82rem; color: #6b6b72; margin-top: 3px; line-height: 1.45; }
.fz-fsubforums { font-size: .78rem; color: #757575; margin-top: 5px; }
.fz-fsubforums .fz-fsublabel { font-weight: 600; color: #5a5a5a; margin-right: .3rem; }
.fz-fsubforums a { color: var(--fz-link); text-decoration: none; }
.fz-fsubforums a:hover { text-decoration: underline; }
.fz-fsubforums img { vertical-align: middle; margin: 0 3px 0 2px; }

/* последнее сообщение — узкой колонкой справа */
td.fz-fcell-last {
  flex: 0 0 210px; background: transparent !important; padding: 0 0 0 14px !important;
  border-left: 1px solid #ececec !important;
}
td.fz-fcell-last .smallfont { font-size: .78rem; color: #757575; }
td.fz-fcell-last a { color: var(--fz-link); text-decoration: none; }
td.fz-fcell-last a:hover { text-decoration: underline; }
td.fz-fcell-last .smallfont > div:first-child { font-size: .92rem; }
td.fz-fcell-last strong { font-weight: 600; }

/* счётчики Ответов/Тем и модератор — убираем */
td.fz-fcell-num, td.fz-fcell-mod { display: none !important; }

/* ---- Мобильный ---- */
@media (max-width: 640px) {
  td.fz-fcell-last { display: none !important; }
  tr.fz-forumrow { padding: 10px 12px !important; gap: 10px; }
  td.fz-fcell-icon img.fz-ficon { width: 32px; height: 32px; }
}

/* =================== ПОСТЫ ТЕМЫ =================== */
/* ===== FZ: посты темы в карточках (styleid 95, legacy postbit) ===== */

/* карточка поста */
table.fz-post {
  border: 1px solid #d9d9d9 !important; background: #ffffff !important;
  border-radius: 10px !important; margin: 0 0 14px 0 !important;
  overflow: hidden; width: 100% !important;
}
table.fz-post td { border: 0 !important; background: transparent !important; }

/* шапка поста: дата слева, #номер справа */
td.fz-post-head {
  background: #f6f6f6 !important; border-bottom: 1px solid #ececec !important;
  padding: 7px 14px !important; font-size: .78rem; color: #757575;
}
.fz-post-head a { color: #757575 !important; text-decoration: none; }
.fz-post-head-right { float: right; }
.fz-post-date { color: #757575; }

/* левая колонка — автор */
td.fz-author {
  width: 190px !important; vertical-align: top !important;
  padding: 14px !important; border-right: 1px solid #ececec !important;
  text-align: center;
}
.fz-author-name { font-size: 1.02rem !important; font-weight: 700; margin-bottom: 2px; }
.fz-author-name a, .fz-author-name { color: #202021 !important; text-decoration: none; }
.fz-author-title { font-size: .74rem; color: #757575; margin-bottom: 2px; }
.fz-author-rank { font-size: .72rem; color: #9a9a9a; margin-bottom: 8px; line-height: 1.3; }
.fz-author-ava { margin: 8px auto; }
.fz-author-ava img.fz-ava-img, .fz-author-ava img {
  max-width: 120px; height: auto; border-radius: 10px;
  border: 1px solid #e2e2e2; display: inline-block;
}
.fz-author-stats { margin-top: 10px; text-align: left; font-size: .76rem; color: #6b6b72; }
.fz-author-stats .fz-stat { padding: 2px 0; border-top: 1px solid #f0f0f0; }
.fz-author-stats .fz-stat:first-child { border-top: 0; }
.fz-author-stats .fz-stat span { color: #9a9a9a; margin-right: .3rem; }
.fz-stat-social { margin-top: 8px; text-align: center; }
.fz-stat-social img { margin: 0 3px; }
.fz-author-gifts { font-size: .74rem; color: #6b6b72; margin-top: 8px; }

/* правая колонка — сообщение */
td.fz-msg { vertical-align: top !important; padding: 14px 16px !important; }
.fz-msg-title { font-size: .82rem; color: #757575; font-weight: 600; margin-bottom: 10px;
  padding-bottom: 8px; border-bottom: 1px solid #f0f0f0; }
.fz-msg-body { font-size: .95rem; line-height: 1.6; color: #202021; }
.fz-msg-body a { color: var(--fz-link); }
.fz-msg-attach { margin-top: 12px; }
.fz-msg-sig { margin-top: 16px; padding-top: 10px; border-top: 1px solid #ececec;
  font-size: .82rem; color: #757575; }
.fz-msg-edited { margin-top: 10px; font-size: .74rem; color: #9a9a9a; font-style: italic; }

/* подвал поста: кнопки */
td.fz-post-foot-left, td.fz-post-foot-right {
  background: #fafafa !important; border-top: 1px solid #ececec !important;
  padding: 8px 14px !important;
}
.fz-btn, a.fz-btn:link, a.fz-btn:visited {
  display: inline-block; background: var(--fz-accent); color: #fff !important;
  border: 1px solid var(--fz-accent); border-radius: 5px; padding: 5px 12px;
  font-size: .78rem; font-weight: 600; text-decoration: none !important;
  margin-left: 6px; transition: background .15s;
}
.fz-btn:hover { background: #e07d10; }
.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited {
  background: #fff; color: #4a4a4a !important; border: 1px solid #c9c9c9;
}
.fz-btn-ghost:hover { background: #f1f1f1; border-color: #b1b1b1; color: #202021 !important; }

/* мобильный: автор сверху узкой строкой */
@media (max-width: 640px) {
  td.fz-author { width: auto !important; border-right: 0 !important;
    border-bottom: 1px solid #ececec !important; display: block; text-align: left; }
  td.fz-msg { display: block; }
  table.fz-post, table.fz-post tbody, table.fz-post tr { display: block; width: 100% !important; }
  .fz-author-ava img { max-width: 64px; }
  .fz-author-stats { display: none; }
}

/* ---- Тулбар темы (Опции темы/просмотра) — плоская тёмная плашка ---- */
/* этот тулбар обёрнут в .fz-cat-card, поэтому целимся точечно и не трогаем другие .tcat */
.fz-cat-card > .tcat {
  background: var(--fz-graphite) !important; background-image: none !important;
  border-radius: 8px !important; padding: 0 14px !important;
  line-height: 36px !important; min-height: 36px; overflow: hidden;
}
.fz-cat-card > .tcat a, .fz-cat-card > .tcat a:link, .fz-cat-card > .tcat a:visited {
  color: #cfd3d8 !important; text-decoration: none !important; font-size: 12px !important;
  font-weight: 600; padding: 0 10px; line-height: 36px; display: inline-block;
}
.fz-cat-card > .tcat a:hover { color: var(--fz-accent) !important; }
/* убираем металлические gif-разделители между пунктами */
.fz-cat-card > .tcat img.inlineimg { display: none !important; }

/* ---- Пагинация страниц ---- */
.pagenav .vbmenu_control {
  background: var(--fz-graphite) !important; background-image: none !important;
  color: #fff !important; border: 0 !important; border-radius: 5px !important;
  font-weight: 600 !important;
}
.pagenav table.tborder { background: transparent !important; border: 0 !important; }
.pagenav td.alt1, .pagenav td.alt2 {
  background: #ffffff !important; border: 1px solid #d9d9d9 !important; border-radius: 5px;
}
.pagenav td.alt2 { background: var(--fz-accent) !important; border-color: var(--fz-accent) !important; }
.pagenav td.alt2 a, .pagenav td.alt2 strong { color: #fff !important; }
.pagenav a { color: #202021 !important; text-decoration: none; }


/* ---- Хлебные крошки: одной строкой, всё чёрным одного размера ---- */
.fz-crumb {
  font-size: 15px !important; line-height: 1.5; margin: 10px 0 16px 0 !important;
  display: block; color: #202021 !important;
}
.fz-crumb, .fz-crumb a, .fz-crumb a:link, .fz-crumb a:visited,
.fz-crumb .navbar, .fz-crumb .navbar strong, .fz-crumb .fz-crumb-home {
  color: #202021 !important; font-size: 15px !important; font-weight: 400 !important;
  text-decoration: none !important;
}
.fz-crumb a:hover { color: var(--fz-link) !important; }

/* Светлая тема эмодзи-пикера чата (плагин cyb_emoji) на форуме */
.cyb-emoji-picker{background:#ffffff !important;border:1px solid #b1b1b1 !important;box-shadow:0 8px 28px rgba(0,0,0,.18) !important;}
.cep-search-input{background:#f6f6f6 !important;color:#202021 !important;border:1px solid #d5d5d5 !important;}
.cep-search-input::placeholder{color:#9a9a9a !important;}
.cep-tabs{border-bottom:1px solid #ececec !important;}
.cep-tab{color:#757575 !important;}
.cep-tab:hover{background:rgba(0,0,0,.05) !important;}
.cep-tab.active{background:rgba(255,140,26,.15) !important;color:#e07d10 !important;}
.cep-cell:hover{background:rgba(0,0,0,.06) !important;}
.cep-grid::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18) !important;}
.cep-empty{color:#9a9a9a !important;}

/* ?? СПИСОК ТЕМ (forumdisplay) карточками ?? */
#threadslist, .threadlist { border:0 !important; }
#threadslist td, .threadlist td { border:0 !important; }
tr.fz-threadrow {
  display:flex !important; align-items:center; gap:14px;
  background:#ffffff !important; border:1px solid #d9d9d9 !important;
  border-radius:10px; padding:12px 16px !important; margin:0 0 8px 0;
  transition:border-color .15s, box-shadow .15s;
}
tr.fz-threadrow:hover { border-color:#b9b9b9 !important; box-shadow:0 3px 10px rgba(0,0,0,.06); }
td.fz-th-icon { flex:0 0 auto; background:transparent !important; padding:0 !important; width:auto !important; }
td.fz-th-icon img { width:26px; height:26px; object-fit:contain; display:block; opacity:.7; }
td.fz-th-main { flex:1 1 auto; min-width:0; background:transparent !important; padding:0 !important; }
.fz-th-titleline { font-size:1.08rem; line-height:1.35; }
/* обычные темы — НЕ жирные */
.fz-th-title { color:#202021 !important; font-weight:400; text-decoration:none !important; }
.fz-th-title:hover { color:var(--fz-link) !important; }
/* важные (sticky) — жирные */
tr.fz-sticky .fz-th-title { font-weight:700; }
.fz-th-new img { vertical-align:middle; margin-right:3px; }
.fz-th-pages { font-size:.8rem; color:#9a9a9a; margin-left:.3rem; white-space:nowrap; }
.fz-th-pages a { color:var(--fz-link); text-decoration:none; }
.fz-th-flags { margin-left:.3rem; }
.fz-th-flags img { vertical-align:middle; margin:0 1px; }
.fz-th-author { font-size:.82rem; color:#757575; margin-top:3px; }
.fz-th-author span { color:#757575; }
.fz-th-rating { margin-left:.4rem; }
.fz-th-manage { font-size:.78rem; margin-top:2px; }
.fz-th-manage a { color:var(--fz-link); text-decoration:none; }
/* колонка счётчиков */
td.fz-th-stats { flex:0 0 130px; background:transparent !important; padding:0 !important;
  display:flex; flex-direction:column; gap:2px; text-align:center;
  border-left:1px solid #ececec !important; padding-left:14px !important; }
.fz-th-stat { font-size:.78rem; color:#757575; }
.fz-th-stat b { color:#202021; font-weight:700; font-family:'Bebas Neue',sans-serif; font-size:1rem; margin-right:.2rem; }
/* последнее сообщение — современный блок */
td.fz-th-last {
  flex:0 0 220px; background:transparent !important; padding:0 0 0 14px !important;
  border-left:1px solid #ececec !important; text-align:left !important;
}
.fz-th-last-link {
  display:flex; align-items:center; gap:9px; text-decoration:none !important;
  padding:6px 8px; border-radius:8px; transition:background .15s;
}
.fz-th-last-link:hover { background:#f6f6f6; }
.fz-th-last-ava { flex:0 0 auto; width:34px; height:34px; border-radius:50%; overflow:hidden;
  background:#e9e9e9; display:flex; align-items:center; justify-content:center; }
.fz-th-last-ava img { width:100%; height:100%; object-fit:cover; display:block; }
.fz-th-last-ava.noava::after { content:'????'; font-size:16px; opacity:.4; }
.fz-th-last-body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.fz-th-last-name { font-size:.85rem; font-weight:600; color:var(--fz-link); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fz-th-last-date { font-size:.74rem; color:#9a9a9a; white-space:nowrap; }
.fz-th-last-arrow { flex:0 0 auto; color:#c0c0c0; font-size:1.3rem; line-height:1; transition:color .15s, transform .15s; }
.fz-th-last-link:hover .fz-th-last-arrow { color:var(--fz-accent); transform:translateX(2px); }
td.fz-th-note, td.fz-th-mod { flex:0 0 auto; background:transparent !important; padding:0 0 0 8px !important; }
#threadslist thead tr, .threadlist thead tr, tr#threadbits_header { display:none !important; }
/* разделитель между важными (sticky) и обычными темами */
tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky) { margin-top:20px; position:relative; }
tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky)::before {
  content:'Обычные темы'; position:absolute; top:-15px; left:2px;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:#9a9a9a; font-weight:600;
}
@media (max-width:720px){
  td.fz-th-last, td.fz-th-stats { display:none !important; }
  tr.fz-threadrow { padding:10px 12px !important; gap:10px; }
}

/* ?? FORUMDISPLAY: плоские полосы, кнопки, подразделы ?? */
/* полосы "Темы раздела" / "Подразделы" (td.tcat width=100%) */
table td.tcat[width="100%"] {
  background:var(--fz-graphite) !important; background-image:none !important;
  color:#fff !important; font-weight:700; padding:9px 14px !important;
  border:0 !important; border-radius:8px 0 0 0;
}
table td.tcat[width="100%"] a { color:#fff !important; }
table td.tcat[width="100%"] .normal { color:rgba(255,255,255,.72) !important; font-weight:400; }
/* меню справа от полос: Опции раздела / Искать / forumtools */
td.vbmenu_control {
  background:var(--fz-graphite) !important; background-image:none !important;
  color:#cfd3d8 !important; border:0 !important; font-weight:600;
}
td.vbmenu_control a { color:#cfd3d8 !important; }
td.vbmenu_control:hover, td.vbmenu_control a:hover { color:var(--fz-accent) !important; }
/* убрать градиентные gif-стрелки в этих полосах */
td.tcat[width="100%"] img, td.vbmenu_control img { vertical-align:middle; }

/* кнопка "Новая тема" (newthread.gif) ? аккуратная оранжевая */
a[href*="newthread"] img[src*="newthread"] {
  content:none;
}
/* подразделы forumdisplay в карточки (та же схема, что forumhome) — если размечены fz-forumrow, уже ок; 
   иначе таблица подразделов остаётся, но полосы над ней теперь плоские */

/* пагинация страниц (Страница X из Y) — светлая */
.pagenav td.vbmenu_control {
  background:var(--fz-graphite) !important; color:#fff !important; border-radius:5px !important;
}
.pagenav td.alt1, .pagenav td.alt2 {
  background:#fff !important; border:1px solid #d9d9d9 !important; border-radius:5px !important;
}
.pagenav td.alt2 { background:var(--fz-accent) !important; border-color:var(--fz-accent) !important; }
.pagenav td.alt2 a, .pagenav td.alt2 strong { color:#fff !important; }
.pagenav a { color:#202021 !important; text-decoration:none; }


/* ?? СПИСОК ТЕМ: таблица #threadslist ? блок, карточки на всю ширину ?? */
table#threadslist { display:block !important; width:100% !important; border:0 !important; background:transparent !important; }
table#threadslist > tbody { display:block !important; width:100% !important; }
/* первая tbody — это шапка колонок (Рейтинг/Ответов/Просмотров) — прячем */
table#threadslist > tbody:first-child { display:none !important; }
/* tbody с темами — блок */
table#threadslist > tbody[id^="threadbits"] { display:block !important; width:100% !important; }
tr.fz-threadrow { width:100% !important; box-sizing:border-box !important; }

/* ===== FZ:КНОПКИ:НАЧАЛО ===== */
/* Текстовые кнопки вместо старых картинок. Гамма — в тон сайту. */
.fzb {
  display: inline-flex; align-items: center; gap: .35em;
  padding: 5px 12px; border-radius: 6px;
  font-family: 'Exo 2', -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 12px; font-weight: 600; line-height: 1.25; letter-spacing: .01em;
  border: 1px solid transparent; white-space: nowrap; cursor: pointer;
  text-decoration: none !important; vertical-align: middle;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .06s ease;
}
.fzb-sm { padding: 3px 9px; font-size: 11px; border-radius: 5px; }
a:has(> .fzb), a:has(> .fzb):hover { text-decoration: none !important; }

/* основное действие */
.fzb-primary { background: var(--fz-accent); border-color: var(--fz-accent); color: #fff !important; }
a:hover > .fzb-primary, .fzb-primary:hover {
  background: #e07d10; border-color: #e07d10; box-shadow: 0 2px 10px rgba(255,140,26,.35);
}
a:active > .fzb-primary { transform: translateY(1px); box-shadow: none; }

/* второстепенное действие */
.fzb-ghost { background: #f6f6f6; border-color: #d5d5d5; color: #3a3a3e !important; }
a:hover > .fzb-ghost, .fzb-ghost:hover {
  background: #fff; border-color: var(--fz-accent); color: var(--fz-accent-dark) !important; box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
a:active > .fzb-ghost { transform: translateY(1px); box-shadow: none; }

/* опасное или предупреждающее */
.fzb-danger { background: #fdf1ec; border-color: #f0c8b6; color: #b23a12 !important; }
a:hover > .fzb-danger, .fzb-danger:hover { background: #b23a12; border-color: #b23a12; color: #fff !important; }

/* ряд кнопок в подвале сообщения не слипается */
td.fz-post-foot-left .fzb, td.fz-post-foot-right .fzb, .fz-post-foot-left a, .fz-post-foot-right a { margin-left: 4px; }

/* пункты выпадающих меню: иконок больше нет, поэтому выравниваем и подсвечиваем */
.vbmenu_option { transition: background-color .12s ease; }
.vbmenu_option:hover { background: #fff4e8 !important; }
.vbmenu_option a { text-decoration: none !important; }
.vbmenu_popup td.thead { border-radius: 6px 6px 0 0; }

/* мелкие разделители-картинки убраны — подчистим отступы */
img.inlineimg[src$="tcat_seperator.gif"] { display: none !important; }
/* прежние текстовые кнопки приводим к единому виду с новыми */
.fz-btn, a.fz-btn:link, a.fz-btn:visited,
.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited {
  display:inline-flex; align-items:center; gap:.35em; padding:5px 12px; border-radius:6px;
  font-family:'Exo 2', -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size:12px; font-weight:600; line-height:1.25; letter-spacing:.01em;
  border:1px solid transparent; white-space:nowrap; text-decoration:none !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .06s ease;
}
.fz-btn, a.fz-btn:link, a.fz-btn:visited { background:var(--fz-accent); border-color:var(--fz-accent); color:#fff !important; }
.fz-btn:hover { background:#e07d10 !important; border-color:#e07d10; box-shadow:0 2px 10px rgba(255,140,26,.35); }
.fz-btn:active { transform:translateY(1px); box-shadow:none; }
.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited { background:#f6f6f6; border-color:#d5d5d5; color:#3a3a3e !important; }
.fz-btn-ghost:hover { background:#fff !important; border-color:var(--fz-accent) !important; color:var(--fz-accent-dark) !important; box-shadow:0 2px 8px rgba(0,0,0,.07); }
.fz-btn-ghost:active { transform:translateY(1px); box-shadow:none; }
/* ===== FZ:КНОПКИ:КОНЕЦ ===== */

/* ===== FZ:ЗНАЧКИ:НАЧАЛО ===== */
/* Значки нарисованы масками SVG: цвет задаётся стилем, файлов-картинок нет. */
.fzi {
  display:inline-block; width:18px; height:18px; vertical-align:middle; flex:0 0 auto;
  background-color:#b9b9c0;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
  transition: background-color .15s ease;
}
.fzi-th, .fzi-post {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/></svg>");
}
/* состояния темы */
.fzi-th[data-st*="new"], .fzi-post[data-st*="new"] { background-color:var(--fz-accent); }
.fzi-th[data-st*="dot"] { background-color:var(--fz-link); }
.fzi-th[data-st*="lock"] {
  background-color:#9a9a9a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>");
}
tr:hover .fzi-th { background-color:#8b8b93; }
tr:hover .fzi-th[data-st*="new"] { background-color:#e07d10; }

/* закрепление, вложение, корзина */
.fzi-pin { width:14px; height:14px; background-color:var(--fz-accent);
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/></svg>"); }
.fzi-clip { width:14px; height:14px; background-color:#9a9a9a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/></svg>"); }
.fzi-trash { width:15px; height:15px; background-color:#9a9a9a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/></svg>"); }
a:hover .fzi-trash, a:hover .fzi-clip { background-color:var(--fz-accent); }

/* значки личных сообщений */
.fzi-pm { width:15px; height:15px; background-color:#b9b9c0;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>"); }
.fzi-pm[data-st="new"] { background-color:var(--fz-accent); }
.fzi-pm[data-st="replied"], .fzi-pm[data-st="forwarded"] { background-color:var(--fz-link); }

/* крутилка ожидания вместо гифки */
.fzspin { display:inline-block; width:16px; height:16px; vertical-align:middle;
  border:2px solid #e3e3e6; border-top-color:var(--fz-accent); border-radius:50%;
  animation: fzspin .7s linear infinite; }
@keyframes fzspin { to { transform: rotate(360deg); } }

/* поля и кнопки форм в общей гамме */
.fzgo, input.button, input[type="submit"].button, input[type="reset"].button, button.button {
  background:var(--fz-accent); border:1px solid var(--fz-accent); color:#fff; border-radius:6px;
  padding:5px 14px; font-family:'Exo 2', -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size:12px; font-weight:600; cursor:pointer;
  transition: background-color .15s ease, box-shadow .15s ease, transform .06s ease;
}
.fzgo:hover, input.button:hover, button.button:hover { background:#e07d10; border-color:#e07d10; box-shadow:0 2px 10px rgba(255,140,26,.35); }
.fzgo:active, input.button:active { transform:translateY(1px); box-shadow:none; }
input.bginput, textarea.bginput, select.bginput, input[type="text"], input[type="password"], textarea, select {
  background:#fff; border:1px solid #d5d5d5; border-radius:6px; padding:5px 8px;
  font-family:'Exo 2', -apple-system, 'Segoe UI', Roboto, sans-serif; font-size:12px; color:#202021;
  transition: border-color .15s ease, box-shadow .15s ease;
}
input.bginput:focus, textarea:focus, select:focus, input[type="text"]:focus, input[type="password"]:focus {
  outline:none; border-color:var(--fz-accent); box-shadow:0 0 0 3px rgba(255,140,26,.15);
}
/* значки разделов на главной: скругление и приглушение прочитанных */
img.fz-ficon { border-radius:8px; transition: filter .2s ease, transform .15s ease; }
tr.fz-forumrow:hover img.fz-ficon { transform: scale(1.06); }
img.fz-ficon[src*="_old"] { filter: grayscale(.55) opacity(.75); }
tr.fz-forumrow:hover img.fz-ficon[src*="_old"] { filter: none; }
/* звёзды рейтинга на CSS */
.fzstars { position:relative; display:inline-block; width:80px; height:15px; vertical-align:middle;
  background-color:#dcdcdc;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>") repeat-x left center / 16px 15px;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>") repeat-x left center / 16px 15px; }
.fzstars i { position:absolute; left:0; top:0; height:100%; width:0; background-color:#ffb020; display:block; }
.fzstars[data-r="1"] i { width:20%; } .fzstars[data-r="2"] i { width:40%; }
.fzstars[data-r="3"] i { width:60%; } .fzstars[data-r="4"] i { width:80%; }
.fzstars[data-r="5"] i { width:100%; }

/* значки блоков «кто на форуме» и «статистика» */
.fzi-users { width:16px; height:16px; background-color:#757575;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87'/><path d='M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); }
.fzi-chart { width:16px; height:16px; background-color:#757575;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='20' x2='18' y2='10'/><line x1='12' y1='20' x2='12' y2='4'/><line x1='6' y1='20' x2='6' y2='14'/></svg>"); }
.fzi-link { width:15px; height:15px; background-color:var(--fz-link);
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/><path d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/></svg>");
          mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/><path d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/></svg>"); }
/* ===== FZ:ЗНАЧКИ:КОНЕЦ ===== */

/* ===== FZ:ПОДРАЗДЕЛЫ:НАЧАЛО ===== */
/* Подразделы — вертикальным списком, каждый с новой строки.
   Название жирное, на ступень мельче названия самого раздела (1.05rem). */
.fz-fsubforums { display:block; margin-top:10px; }
.fz-fsubforums .fz-fsublabel {
  display:block; margin:0 0 5px 0;
  font-size:.67rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--fz-muted); font-weight:700;
}
a.fz-sub, a.fz-sub:link, a.fz-sub:visited {
  display:flex; align-items:center; gap:8px;
  width:max-content; max-width:100%;
  padding:3px 0 3px 2px; margin:0;
  background:none; border:0; border-radius:0;
  color:var(--fz-ink-2) !important; line-height:1.45;
  text-decoration:none !important;
  transition: color .15s ease, transform .12s ease;
}
.fz-sub-t { font-size:.93rem; font-weight:700; }
a.fz-sub:hover { color:var(--fz-accent-dark) !important; transform:translateX(3px); background:none; box-shadow:none; }
a.fz-sub:active { transform:translateX(3px) translateY(1px); }
.fz-sub-dot {
  width:5px; height:5px; border-radius:50%; background:#cfcdc8; flex:0 0 auto;
  transition: background-color .15s ease, box-shadow .15s ease;
}
a.fz-sub:hover .fz-sub-dot { background:var(--fz-accent); }
a.fz-sub.is-new { color:var(--fz-accent-dark) !important; }
a.fz-sub.is-new .fz-sub-dot { background:var(--fz-accent); box-shadow:0 0 0 3px rgba(255,140,26,.16); }
.fz-sub-n { font-size:.72rem; font-weight:400; color:var(--fz-muted); }
a.fz-sub:hover .fz-sub-n { color:var(--fz-accent-dark); }
/* ===== FZ:ПОДРАЗДЕЛЫ:КОНЕЦ ===== */

/* ===== FZ:СТРОКА-РАЗДЕЛА:НАЧАЛО ===== */
/* Карточка раздела: всё выравнивается по верхнему краю, иначе при длинном
   списке подразделов правая колонка повисает по центру и разъезжается. */
tr.fz-forumrow { align-items: flex-start !important; }
td.fz-fcell-icon { padding-top: 1px !important; }
td.fz-fcell-main { padding-top: 0 !important; min-width: 0 !important; }

/* Правая колонка строго одной ширины у всех строк. Без min-width:0 flex-элемент
   не сжимается ниже своего содержимого, и длинное название темы раздвигает колонку. */
td.fz-fcell-last {
  flex: 0 0 245px !important;
  width: 245px !important; min-width: 0 !important; max-width: 245px !important;
  align-self: stretch;
  overflow: hidden;
  padding: 1px 0 0 14px !important;
  text-align: left !important;
  box-sizing: content-box;
}
td.fz-fcell-last > .smallfont { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
td.fz-fcell-last div, td.fz-fcell-last div[align] { text-align: left !important; float: none !important; }
/* длинные названия тем обрезаем многоточием, чтобы колонка не расползалась */
td.fz-fcell-last .smallfont > div {
  min-width: 0; max-width: 100%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* обрезка нужна только первой строке с названием темы; время во второй строке
   остаётся строчным, иначе оно съезжает под дату */
td.fz-fcell-last .smallfont > div:first-child > span {
  display: block; max-width: 100%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
td.fz-fcell-last .smallfont > div:last-child { white-space: nowrap; overflow: visible; }
td.fz-fcell-last .smallfont .time { display: inline !important; }
td.fz-fcell-last .smallfont { font-size: .87rem; line-height: 1.5; color: var(--fz-muted); }
td.fz-fcell-last a { color: var(--fz-link); text-decoration: none; }
td.fz-fcell-last a:hover { color: var(--fz-accent); text-decoration: none; }
td.fz-fcell-last .smallfont > div:first-child { font-size: .92rem; }
td.fz-fcell-last strong { font-weight: 600; }
td.fz-fcell-last .smallfont > div:last-child { color: var(--fz-muted); font-size: .8rem; margin-top: 2px; }
td.fz-fcell-last .time { color: var(--fz-muted); }
td.fz-fcell-last .fzi { width: 14px; height: 14px; }
td.fz-fcell-last img.inlineimg { vertical-align: middle; max-height: 16px; }
/* ===== FZ:СТРОКА-РАЗДЕЛА:КОНЕЦ ===== */

/* ===== FZ:МЕНЮ-ПОЛЬЗОВАТЕЛЯ:НАЧАЛО ===== */
.fz-umenu { border:0 !important; background:transparent !important; padding:0 !important; }
.fz-umenu > table {
  border-collapse:separate !important; border-spacing:0 !important;
  background:#fff !important; border:1px solid #e4e4e8 !important; border-radius:12px !important;
  box-shadow:0 14px 38px rgba(20,20,30,.16), 0 2px 6px rgba(20,20,30,.06) !important;
  overflow:hidden; min-width:264px;
}
.fz-umenu td { border:0 !important; }
/* шапка меню: аватар, ник, звание */
.fz-umenu td.fz-umenu-head {
  background:#fafafb !important; border-bottom:1px solid #eeeef1 !important;
  padding:11px 14px !important; white-space:nowrap;
}
.fz-umenu-ava {
  width:34px; height:34px; border-radius:9px; object-fit:cover;
  vertical-align:middle; margin-right:10px; border:1px solid #e4e4e8;
}
.fz-umenu-who { display:inline-block; vertical-align:middle; }
.fz-umenu-name { display:block; font-size:.95rem; font-weight:700; color:#202021; line-height:1.3; }
.fz-umenu-name a { color:inherit !important; text-decoration:none !important; }
.fz-umenu-title { display:block; font-size:.74rem; color:var(--fz-muted); margin-top:1px; }
/* пункты */
/* скрипт меню при наведении подменяет класс целиком: vbmenu_option ? vbmenu_hilite,
   поэтому все правила перечисляют оба состояния, иначе пункт «теряет» оформление */
.fz-umenu td.vbmenu_option, .fz-umenu td.vbmenu_option_alink,
.fz-umenu td.vbmenu_hilite, .fz-umenu td.vbmenu_hilite_alink { padding:0 !important; }
.fz-umenu td.vbmenu_option, .fz-umenu td.vbmenu_option_alink { background:#fff !important; }
.fz-umenu td.vbmenu_hilite, .fz-umenu td.vbmenu_hilite_alink { background:#fff6ec !important; }
.fz-umenu td.vbmenu_option a, .fz-umenu td.vbmenu_option_alink a,
.fz-umenu td.vbmenu_hilite a, .fz-umenu td.vbmenu_hilite_alink a {
  display:flex; align-items:center; gap:11px;
  padding:9px 15px; color:var(--fz-ink-2) !important;
  font-size:.88rem; line-height:1.35; text-decoration:none !important; white-space:nowrap;
  transition: background-color .13s ease, color .13s ease;
}
.fz-umenu td.vbmenu_option:hover { background:#fff6ec !important; }
.fz-umenu td.vbmenu_option a:hover,
.fz-umenu td.vbmenu_hilite a, .fz-umenu td.vbmenu_hilite_alink a { color:var(--fz-accent-dark) !important; }
.fz-umenu td .fzi { width:16px; height:16px; background-color:#a8a8b0; flex:0 0 auto; transition: background-color .13s ease; }
.fz-umenu td.vbmenu_option a:hover .fzi,
.fz-umenu td.vbmenu_hilite .fzi, .fz-umenu td.vbmenu_hilite_alink .fzi { background-color:var(--fz-accent); }

/* то же самое для обычных меню форума (Опции темы и прочие) */
.vbmenu_hilite, .vbmenu_hilite_alink { background:#fff4e8 !important; }
.vbmenu_hilite a, .vbmenu_hilite_alink a { color:var(--fz-accent-dark) !important; text-decoration:none !important; }

/* значки пунктов меню */
.fzi-user { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>"); }
.fzi-card { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><polyline points='15 3 21 3 21 9'/><line x1='10' y1='14' x2='21' y2='3'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><polyline points='15 3 21 3 21 9'/><line x1='10' y1='14' x2='21' y2='3'/></svg>"); }
.fzi-mail { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><polyline points='22,6 12,13 2,6'/></svg>"); }
.fzi-chat { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>"); }
.fzi-search { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>"); }
.fzi-at { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='4'/><path d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='4'/><path d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94'/></svg>"); }
.fzi-userplus { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='8.5' cy='7' r='4'/><line x1='20' y1='8' x2='20' y2='14'/><line x1='23' y1='11' x2='17' y2='11'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='8.5' cy='7' r='4'/><line x1='20' y1='8' x2='20' y2='14'/><line x1='23' y1='11' x2='17' y2='11'/></svg>"); }
/* ===== FZ:МЕНЮ-ПОЛЬЗОВАТЕЛЯ:КОНЕЦ ===== */



:root {
  /* ---- поверхности ---- */
  --fz-page-bg:     #f4f3f0;   /* фон страницы: тёплый светло-серый */
  --fz-surface:     #ffffff;   /* карточки */
  --fz-soft:        #faf9f7;   /* вторичная поверхность */
  --fz-soft-2:      #f7f6f3;
  --fz-card-soft:   #faf9f7;

  /* ---- графит ---- */
  --fz-dark:        #30343a;
  --fz-dark-2:      #3a3f46;
  --fz-graphite:      #30343a;
  --fz-graphite-hover:#3a3f46;

  /* ---- текст ---- */
  --fz-ink:         #25272a;   /* основной */
  --fz-ink-2:       #40444b;   /* вторичный */
  --fz-muted:       #73777d;   /* служебный */
  --fz-text:        #25272a;

  /* ---- линии ---- */
  --fz-line:        #e9e8e5;   /* мягкая */
  --fz-line-2:      #dedede;   /* обычная */
  --fz-border:      #dedede;
  --fz-border-soft: #e9e8e5;

  /* ---- акценты ---- */
  --fz-accent:      #ff7a18;
  --fz-accent-dark: #ec6810;
  --fz-accent-soft: rgba(255,122,24,.12);
  --fz-orange:      #ff7a18;
  --fz-orange-hover:#ec6810;
  --fz-link:        #0866a8;
  --fz-link-hover:  #ec6810;
  --fz-success:     #299447;
  --fz-danger:      #c0392b;

  /* ---- геометрия ---- */
  --fz-radius:      9px;
  --fz-radius-sm:   7px;
  --fz-container:   1380px;
  --fz-gap:         16px;      /* внешние интервалы */
  --fz-pad:         20px;      /* внутренние отступы карточек */

  --fz-font:        "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --fz-mono:        ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --fz-shadow:      0 1px 2px rgba(35,38,42,.04);
  --fz-shadow-2:    0 1px 3px rgba(35,38,42,.06);
}

/* ---------- Базовая типографика ---------- */
body {
  font-family: var(--fz-font);
  font-size: 14px;
  line-height: 1.55;
  color: var(--fz-ink);
  background: var(--fz-surface);
}
td, th, p, li, div, span, label { font-family: var(--fz-font); }
td, th, p, li { font-size: 14px; }
.smallfont, .smallfont td, .smallfont p, .smallfont li { font-size: 12.5px; }
.time { color: var(--fz-muted); }
.highlight { color: var(--fz-accent-dark); font-weight: 600; }
.bigusername { font-size: 17px; font-weight: 600; }
strong, b { font-weight: 600; }

a:link, a:visited { color: var(--fz-link); text-decoration: none; }
a:hover, a:active  { color: var(--fz-accent-dark); text-decoration: none; }
.alt1 a:link, .alt1 a:visited, .alt2 a:link, .alt2 a:visited { text-decoration: none; }

/* Ссылки внутри текста сообщения — подчёркиваем мягко, чтобы читались */
.fz-post-body a:link, .fz-post-body a:visited,
div[id^="post_message_"] a:link, div[id^="post_message_"] a:visited {
  color: var(--fz-link);
  text-decoration: underline;
  text-decoration-color: rgba(0,98,159,.35);
  text-underline-offset: 2px;
}
div[id^="post_message_"] a:hover { color: var(--fz-accent-dark); text-decoration-color: currentColor; }

/* ---------- Таблицы-контейнеры вместо рамок 2008 ---------- */
.tborder {
  background: var(--fz-line);
  border: 0;
  border-radius: var(--fz-radius);
  overflow: hidden;
  box-shadow: var(--fz-shadow);
}
.tborder .tborder { box-shadow: none; }

.alt1, .alt1Active, .alt2, .alt2Active {
  border: 0;
  color: var(--fz-ink);
}
.alt1, .alt1Active { background: var(--fz-surface); }
.alt2, .alt2Active { background: var(--fz-soft-2); }
.alt1Active, .alt2Active { box-shadow: none; }
.inlinemod { background: #fff6e6; color: var(--fz-ink); }
.wysiwyg { background: var(--fz-surface); color: var(--fz-ink); font-size: 14px; }

/* ---------- Заголовочные полосы ---------- */
.tcat {
  background: var(--fz-dark);
  background-image: none;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 38px;
  padding: 0 14px;
}
.tcat a:link, .tcat a:visited, .tcat_alink, .tcat_avisited { color: #fff; text-decoration: none; }
.tcat a:hover, .tcat a:active { color: var(--fz-accent); text-decoration: none; }

.thead {
  background: var(--fz-soft);
  background-image: none;
  color: var(--fz-muted);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 9px 12px;
  /* nowrap здесь ломал страницы, где в такой ячейке лежит длинный текст */
  white-space: normal;
}
.thead a:link, .thead a:visited { color: var(--fz-muted); text-decoration: none; }
.thead a:hover, .thead a:active { color: var(--fz-ink); text-decoration: none; }

.tfoot {
  background: var(--fz-soft);
  color: var(--fz-muted);
  font-size: 12.5px;
}
.tfoot a:link, .tfoot a:visited { color: var(--fz-ink-2); text-decoration: none; }
.tfoot a:hover, .tfoot a:active { color: var(--fz-accent-dark); }

/* Тёмная полоска-подвал старого стиля */
.tfooter {
  background: var(--fz-line) !important;
  background-image: none !important;
  height: 1px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* ---------- Панели ---------- */
.panel {
  background: var(--fz-surface);
  color: var(--fz-ink);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  padding: 18px 20px;
  box-shadow: none;
}
.panelsurround { background: transparent; color: var(--fz-ink); }
fieldset {
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  padding: 12px 14px;
  margin-bottom: 10px;
}
legend {
  color: var(--fz-ink-2);
  font-size: 12.5px;
  font-weight: 600;
  padding: 0 6px;
}
.fieldset, .fieldset td, .fieldset p, .fieldset li { font-size: 13px; }

/* ---------- Поля ввода ---------- */
input[type="text"], input[type="password"], input[type="email"], input[type="url"],
input[type="number"], input[type="search"], input[type="tel"], input[type="date"],
textarea, select, .bginput {
  font-family: var(--fz-font);
  font-size: 14px;
  color: var(--fz-ink);
  background: var(--fz-surface);
  border: 1px solid var(--fz-line-2);
  border-radius: var(--fz-radius-sm);
  padding: 8px 11px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
  max-width: 100%;
}
select { padding: 7px 9px; }
textarea { line-height: 1.55; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="search"]:focus, textarea:focus, select:focus, .bginput:focus {
  border-color: var(--fz-accent);
  box-shadow: 0 0 0 3px var(--fz-accent-soft);
}
.bginput option, .bginput optgroup, option, optgroup { font-size: 14px; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--fz-accent); width: 15px; height: 15px; vertical-align: -2px; }

/* ---------- Кнопки форм ---------- */
input[type="submit"], input[type="button"], input[type="reset"], button, .button {
  font-family: var(--fz-font);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  color: #fff;
  background: var(--fz-accent);
  border: 0;
  border-radius: var(--fz-radius-sm);
  padding: 9px 18px;
  cursor: pointer;
  transition: background .15s, transform .05s, box-shadow .15s;
  box-shadow: 0 1px 2px rgba(20,22,28,.08);
}
input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover, button:hover, .button:hover {
  background: var(--fz-accent-dark);
}
input[type="submit"]:active, input[type="button"]:active, button:active, .button:active { transform: translateY(1px); }
input[type="reset"], input[name="preview"], input[value="Отмена"] {
  color: var(--fz-ink-2);
  background: var(--fz-soft);
  box-shadow: inset 0 0 0 1px var(--fz-line-2);
}
input[type="reset"]:hover, input[name="preview"]:hover { background: #eef0f3; color: var(--fz-ink); }
input[disabled], button[disabled] { opacity: .5; cursor: default; }

/* ---------- Всплывающие меню ---------- */
.vbmenu_control {
  background: transparent;
  background-image: none;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background .15s;
}
.vbmenu_control:hover { background: rgba(255,255,255,.1); }
.vbmenu_control a:link, .vbmenu_control a:visited { color: #fff; text-decoration: none; }
.vbmenu_control a:hover, .vbmenu_control a:active { color: var(--fz-accent); text-decoration: none; }

.vbmenu_popup {
  background: var(--fz-surface);
  color: var(--fz-ink);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  box-shadow: 0 10px 30px rgba(20,22,28,.14);
  overflow: hidden;
}
.vbmenu_popup td.thead { border-radius: 0; }
.vbmenu_option {
  background: var(--fz-surface);
  color: var(--fz-ink);
  font-size: 13px;
  padding: 8px 14px;
  white-space: nowrap;
  cursor: pointer;
  border: 0;
}
.vbmenu_option a:link, .vbmenu_option a:visited, .vbmenu_option_alink, .vbmenu_option_avisited {
  color: var(--fz-ink); text-decoration: none;
}
.vbmenu_hilite {
  background: var(--fz-accent-soft);
  color: var(--fz-ink);
  font-size: 13px;
  padding: 8px 14px;
  white-space: nowrap;
  cursor: pointer;
  border: 0;
}
.vbmenu_hilite a:link, .vbmenu_hilite a:visited, .vbmenu_hilite a:hover,
.vbmenu_hilite_alink, .vbmenu_hilite_avisited, .vbmenu_hilite_ahover {
  color: var(--fz-ink); text-decoration: none;
}

/* ---------- Постраничная навигация ---------- */
/* Движок отдаёт её таблицей; раскладываем строкой из одинаковых кнопок,
   чтобы текущая страница была видна, а «Страница N из M» не превращалась
   в чёрную плашку во всю ширину. */
.pagenav { background: transparent; border: 0; display: inline-block; }

.pagenav table,
.pagenav table.tborder {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.pagenav table tbody,
.pagenav table tr { display: contents !important; }

.pagenav td,
.pagenav td.alt1, .pagenav td.alt2,
.pagenav td.alt1Active, .pagenav td.alt2Active {
  display: flex !important;
  align-items: center;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* кнопки страниц */
.pagenav a,
.pagenav td.alt1 a,
.pagenav td.alt2 a,
.pagenav td > span.smallfont {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  color: var(--fz-ink);
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
.pagenav a:hover {
  background: var(--fz-accent-soft);
  border-color: var(--fz-accent);
  color: var(--fz-accent-dark);
}

/* текущая страница: залитая кнопка, номер виден */
.pagenav td.alt2 > span.smallfont,
.pagenav td.alt1Active > span.smallfont,
.pagenav td.alt2Active > span.smallfont,
.pagenav td.alt1Active a,
.pagenav td.alt2Active a {
  background: var(--fz-accent) !important;
  border-color: var(--fz-accent) !important;
  color: #fff !important;
  cursor: default;
}
.pagenav td > span.smallfont strong,
.pagenav td.alt1Active a strong,
.pagenav td.alt2Active a strong { font-weight: 700; color: inherit; }

/* «Страница 3 из 17» — обычный текст, а не тёмная полоса */
.pagenav td.vbmenu_control {
  order: -1;
  background: transparent !important;
  color: var(--fz-ink-2) !important;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 6px 0 0 !important;
  border-radius: 0 !important;
}
.pagenav td.vbmenu_control:hover { background: transparent !important; }

/* последняя ячейка — переход к странице, оставляем квадратной кнопкой */
.pagenav td.vbmenu_control:last-child {
  order: 0;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-line) !important;
  border-radius: var(--fz-radius-sm) !important;
  cursor: pointer;
  position: relative;
}
.pagenav td.vbmenu_control:last-child:hover {
  background: var(--fz-accent-soft) !important;
  border-color: var(--fz-accent) !important;
}
.pagenav td.vbmenu_control:last-child::after {
  content: "";
  position: absolute;
  left: 50%; top: 45%;
  width: 7px; height: 7px;
  margin-left: -4px;
  border-right: 2px solid var(--fz-ink-2);
  border-bottom: 2px solid var(--fz-ink-2);
  transform: translateY(-50%) rotate(45deg);
  opacity: .75;
}
.pagenav td.vbmenu_control:last-child a { display: block; width: 100%; height: 100%; }

/* «Последняя »» — пошире, но той же высоты */
.pagenav td.alt1 a[title*="Последняя"],
.pagenav td.alt1 a[title*="Первая"] { font-weight: 600; }

/* на узких экранах оставляем от неё только стрелку */
@media (max-width: 560px) {
  .pagenav td.alt1 a[title*="Последняя"],
  .pagenav td.alt1 a[title*="Первая"] { font-size: 0; padding: 0 12px; }
  .pagenav td.alt1 a[title*="Последняя"] strong,
  .pagenav td.alt1 a[title*="Первая"] strong { font-size: 17px; font-weight: 700; }
}

/* ---------- Цитаты, код, спойлеры ---------- */
td[style*="inset"], td[style*="INSET"] {
  border: 1px solid var(--fz-line) !important;
  border-radius: var(--fz-radius-sm);
  background: var(--fz-soft) !important;
  padding: 12px 14px !important;
}
.bbcode_quote, .bbcode_code, .bbcode_php, .bbcode_html, .bbcode_container {
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  background: var(--fz-soft);
}
.bbcode_postedby, .bbcode_description {
  color: var(--fz-muted); font-size: 12.5px; font-weight: 600;
  letter-spacing: .02em; margin-bottom: 4px;
}
code, pre, .bbcode_code, .bbcode_php {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
}

/* ---------- Быстрый переход, выпадающие списки разделов ---------- */
.fjsel { background: var(--fz-accent-soft); color: var(--fz-ink); }
.fjdpth0 { background: var(--fz-soft-2); color: var(--fz-ink); }

/* ---------- Легаси-классы старой шапки: гасим фоновые картинки ---------- */
.navigation, .navigation_seperator, .navigation_white, .navigation_black,
.bluename, .userinfo, #sddm li a:hover, #sddm div a:hover {
  background-image: none !important;
}
.navigation_white, .navigation_black {
  background: var(--fz-soft) !important; color: var(--fz-ink) !important;
  border-radius: var(--fz-radius-sm); height: auto;
}
.userinfo { border: 1px solid var(--fz-line); border-radius: var(--fz-radius-sm); background: var(--fz-surface); color: var(--fz-ink); }
.bluename { background: transparent; color: var(--fz-link); font-size: 12.5px; }
.blue, .blue a:link, .blue a:visited { color: var(--fz-link); }
.grey, .grey a:link, .grey a:visited { color: var(--fz-muted); }

/* ---------- Мелочь из 2008: иконки сообщений и разделители ---------- */
img[src*="/images/icons/icon"], img[src*="images/icons/icon"] { display: none !important; }
img[src*="/statusicon/subforum"], img[src*="/statusicon/thread_dot"] { display: none !important; }
img[src$="seperator.gif"], img[src$="separator.gif"] { display: none !important; }
hr { border: 0; border-top: 1px solid var(--fz-line); margin: 14px 0; }

/* иконка раздела на главной — аккуратная плитка вместо «наклейки» */
td.fz-fcell-icon img.fz-ficon {
  border-radius: 10px;
  background: var(--fz-soft);
  padding: 4px;
  box-sizing: border-box;
}

/* ---------- Таблицы настроек (usercp, profile, admin-lite) ---------- */
table.tborder td.alt1, table.tborder td.alt2 { padding: 10px 12px; }
.tborder > tbody > tr > td:first-child { border-radius: 0; }

/* ---------- Подвал форума ---------- */
.fz-legend, .footer_links { font-size: 12.5px; color: var(--fz-muted); }

/* ---------- Прочее ---------- */
form { display: inline; }
label { cursor: default; }
.normal { font-weight: 400; }
.inlineimg { vertical-align: middle; }
img { border: 0; }
::selection { background: var(--fz-accent-soft); }

/* Скроллбар в тон */
* { scrollbar-color: #c9ccd4 transparent; }

/* ---------- Убираем щели cellspacing: полосы и строки становятся сплошными ---------- */
table.tborder { border-spacing: 0 !important; }
table.tborder > tbody > tr > td { border-bottom: 1px solid var(--fz-line); }
table.tborder > tbody > tr:last-child > td { border-bottom: 0; }
table.tborder > tbody > tr > td.tcat,
table.tborder > tbody > tr > td.thead,
table.tborder > tbody > tr > td.tfoot { border-bottom: 0; }
table.tborder > tbody > tr > td.thead + td.thead { box-shadow: inset 1px 0 0 rgba(0,0,0,.04); }
.pagenav, .pagenav td { border-bottom: 0 !important; }

/* ---------- Стрелка выпадающего меню вместо menu_open.gif ---------- */
img[src*="menu_open"], img[src*="menu_collapse"], img[src*="menu_expand"] { display: none !important; }
.vbmenu_control:has(img[src*="menu_open"])::after,
.vbmenu_control:has(img[src*="menu_collapse"])::after {
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  margin: 0 0 2px 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: .65;
  vertical-align: middle;
}
.vbmenu_control:hover::after { opacity: 1; }

/* ---------- Исключения: строки, у которых уже есть своё оформление ---------- */
tr.fz-forumrow > td,
tr.fz-colhead > td,
table.fz-post td,
table.fz-post > tbody > tr > td,
tr.fz-threadrow > td { border-bottom: 0 !important; }
tr.fz-forumrow td.fz-fcell-last { border-left: 1px solid var(--fz-line) !important; }

/* ==========================================================================
   Остатки картинок: значки заменяем векторными
   ========================================================================== */

/* вложения: скрепка вместо иконки расширения 2008 года */
img[src*="/attach/"], img[src*="imgdir_attach"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2383838d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.4 11.05 12.25 20.2a5.5 5.5 0 0 1-7.78-7.78l9.19-9.19a3.67 3.67 0 0 1 5.18 5.18l-9.2 9.2a1.83 1.83 0 0 1-2.59-2.6l8.49-8.48'/></svg>");
  width: 16px; height: 16px; vertical-align: -3px;
}

/* календарь */
img[src*="calendar_icon"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ff7a18' stroke-width='2' stroke-linecap='round'><rect x='3' y='4' width='18' height='18' rx='3'/><path d='M16 2v4M8 2v4M3 10h18'/></svg>");
  width: 16px; height: 16px; vertical-align: -3px;
}
img[src*="birthday"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ff7a18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21h16v-6a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4z'/><path d='M12 7V4'/></svg>");
  width: 16px; height: 16px; vertical-align: -3px;
}

/* репутация */
img[src*="reputation_pos"], img[src*="reputation_highpos"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232e9e4f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M12 19V6M5 13l7-7 7 7'/></svg>");
  width: 14px; height: 14px; vertical-align: -2px;
}
img[src*="reputation_neg"], img[src*="reputation_highneg"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d04545' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v13M5 11l7 7 7-7'/></svg>");
  width: 14px; height: 14px; vertical-align: -2px;
}
img[src*="reputation_balance"], img[src*="reputation_off"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b4b4bc' stroke-width='3' stroke-linecap='round'><path d='M5 12h14'/></svg>");
  width: 14px; height: 14px; vertical-align: -2px;
}

/* раздел-ссылка */
img[src*="forum_link"] {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 24 24' fill='none' stroke='%23ff7a18' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3h7v7'/><path d='M10 14 21 3'/><path d='M21 14v7H3V3h7'/></svg>");
  width: 34px; height: 34px;
}

/* звёзды рейтинга темы — перекрашиваем в акцент, убираем глянец */
img[src*="/rating/"] { filter: grayscale(1) brightness(1.12) sepia(1) hue-rotate(-13deg) saturate(5); }

/* флаг страны в профиле сообщения */
img.fz-flag { width: 18px; height: auto; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); vertical-align: -3px; }

/* ВКонтакте — текстовый значок вместо gif */
.fz-vk {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 20px; padding: 0 7px;
  border-radius: 6px; background: var(--fz-soft);
  color: var(--fz-muted); font-size: 11px; font-weight: 600; letter-spacing: .06em;
  box-shadow: inset 0 0 0 1px var(--fz-line);
  transition: background .15s, color .15s;
}
a:hover .fz-vk { background: var(--fz-accent); color: #fff; box-shadow: none; }

/* ==========================================================================
   Редактор сообщений (SCEditor) — в тон остальному
   ========================================================================== */
.sceditor-container {
  border: 1px solid var(--fz-line-2) !important;
  border-radius: var(--fz-radius) !important;
  overflow: hidden;
  font-family: var(--fz-font) !important;
  box-shadow: none !important;
}
.sceditor-container:focus-within { border-color: var(--fz-accent) !important; box-shadow: 0 0 0 3px var(--fz-accent-soft) !important; }
.sceditor-toolbar {
  background: var(--fz-soft) !important;
  border-bottom: 1px solid var(--fz-line) !important;
  padding: 5px 6px !important;
}
.sceditor-group { background: transparent !important; border: 0 !important; margin: 0 4px 0 0 !important; padding: 0 !important; }
.sceditor-button {
  border-radius: 6px !important;
  border: 0 !important;
  background-color: transparent !important;
  transition: background-color .12s;
}
.sceditor-button:hover, .sceditor-button.active {
  background-color: var(--fz-accent-soft) !important;
}
.sceditor-button div { opacity: .75; }
.sceditor-button:hover div { opacity: 1; }
div.sceditor-dropdown { border: 1px solid var(--fz-line) !important; border-radius: var(--fz-radius-sm) !important; box-shadow: 0 10px 30px rgba(20,22,28,.14) !important; }
.controlbar { background: transparent !important; border: 0 !important; }

/* ==========================================================================
   Мелкие блоки, которые остались от 2008
   ========================================================================== */
.controlbar, .imagebar { background: transparent; }
td.thead img, td.tcat img { vertical-align: middle; }
.fz-stat-social { margin-top: 6px; }

/* второстепенные кнопки форм (перекрываем более «сильные» старые правила) */
input[type="reset"], input[type="reset"].button,
input[name="preview"], input[name="preview"].button,
input[value="Отмена"], input[value="Отмена"].button {
  color: var(--fz-ink-2) !important;
  background: var(--fz-soft) !important;
  border: 1px solid var(--fz-line-2) !important;
  box-shadow: none !important;
}
input[type="reset"]:hover, input[type="reset"].button:hover,
input[name="preview"]:hover, input[name="preview"].button:hover {
  background: #eef0f3 !important; color: var(--fz-ink) !important; border-color: var(--fz-line-2) !important;
}

/* пункты меню в тёмной полосе — без скруглений, иначе видны щели между ячейками */
td.vbmenu_control { border-radius: 0 !important; }
td.vbmenu_control:hover { background: rgba(255,255,255,.10) !important; }

/* стрелка «посмотреть неделю» в календаре */
td a[href*="do=displayweek"] {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 6px;
  background: var(--fz-surface); color: var(--fz-muted);
  font-family: var(--fz-font) !important; font-size: 0 !important; line-height: 1;
  box-shadow: inset 0 0 0 1px var(--fz-line);
  overflow: hidden;
}
td a[href*="do=displayweek"] br { display: none; }
td a[href*="do=displayweek"]::before { content: "\203A"; font-size: 15px; line-height: 1; }
td a[href*="do=displayweek"]:hover { background: var(--fz-accent); color: #fff; box-shadow: none; }

/* ==========================================================================
   Иконки разделов: глянцевые GIF 2008 года -> плоские векторные
   Эмблемы орденов (empire, republic, jamp, vselen) оставлены как есть.
   ========================================================================== */


/* иконки разделов теперь векторные — приглушать фильтром больше не нужно */
img.fz-ficon, td.fz-fcell-icon img { filter: none !important; opacity: 1 !important; }

/* ==========================================================================
   КРУПНЕЕ И КОНТРАСТНЕЕ
   Бледно-серый плохо читается — приглушённый текст делаем темнее,
   строки разделов выше, названия и значки крупнее.
   ========================================================================== */

/* ---- строка раздела на главной ---- */
tr.fz-forumrow { padding: 18px 20px !important; gap: 18px !important; }
td.fz-fcell-icon img.fz-ficon { width: 46px !important; height: 46px !important; padding: 5px !important; }

.fz-ftitle a { font-size: 1.34rem !important; font-weight: 700 !important; color: var(--fz-ink) !important; }
.fz-ftitle a:hover { color: var(--fz-accent-dark) !important; }
.fz-fbrowsers { font-size: .82rem !important; color: var(--fz-muted) !important; }
.fz-fdesc { font-size: .97rem !important; color: var(--fz-ink-2) !important; margin-top: 6px !important; line-height: 1.5 !important; }

/* подразделы */
.fz-fsubforums { margin-top: 12px !important; }
.fz-fsubforums .fz-fsublabel {
  font-size: .78rem !important; color: var(--fz-muted) !important;
  letter-spacing: .05em !important; margin-bottom: 7px !important;
}
a.fz-sub { padding: 5px 0 5px 2px !important; gap: 10px !important; color: var(--fz-ink) !important; }
.fz-sub-t { font-size: 1.06rem !important; font-weight: 700 !important; }
.fz-sub-n { font-size: .86rem !important; color: var(--fz-muted) !important; }
.fz-sub-dot { width: 6px !important; height: 6px !important; }

/* правая колонка «последнее сообщение» */
td.fz-fcell-last .smallfont { font-size: .95rem !important; color: var(--fz-muted) !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 1.06rem !important; }
td.fz-fcell-last .smallfont > div:last-child { font-size: .88rem !important; color: var(--fz-muted) !important; }
td.fz-fcell-last .time { color: var(--fz-muted) !important; }
td.fz-fcell-last a { font-weight: 600 !important; }

/* ---- заголовочные полосы ---- */
.tcat { font-size: 14px; line-height: 44px; }
.tcat.fz-cat { line-height: 46px !important; height: 46px; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited {
  font-size: 15px !important; font-weight: 700 !important;
}
.thead { font-size: 12.5px; color: var(--fz-muted); }
.thead a:link, .thead a:visited { color: var(--fz-muted); }

/* ---- общий приглушённый текст — темнее ---- */
.smallfont, .smallfont td, .smallfont p, .smallfont li { font-size: 13.5px; }
.time { color: var(--fz-muted); }
.tfoot { color: var(--fz-ink-2); font-size: 13.5px; }

/* ---- кнопки: крупнее ---- */
.fzb { font-size: 13.5px !important; padding: 8px 17px !important; border-radius: 8px !important; }
.fzb-sm { font-size: 12.5px !important; padding: 5px 12px !important; border-radius: 7px !important; }
.fz-btn, a.fz-btn:link, a.fz-btn:visited,
.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited {
  font-size: 13.5px !important; padding: 8px 17px !important; border-radius: 8px !important;
}
.fzgo, input.button, input[type="submit"], input[type="button"], button {
  font-size: 13.5px !important; padding: 9px 18px !important;
}

/* ---- общий кегль по всему форуму: крупнее ---- */
body { font-size: 16px; line-height: 1.6; }
td, th, p, li { font-size: 16px; }
.smallfont, .smallfont td, .smallfont p, .smallfont li, .smallfont div, .smallfont span { font-size: 14.5px; }
.thead { font-size: 13px; }
.tcat { font-size: 15px; line-height: 46px; }
.tfoot, .tfoot td { font-size: 14.5px; }
.vbmenu_control { font-size: 14px; }
.vbmenu_option, .vbmenu_hilite { font-size: 14.5px; padding: 9px 15px; }
.fieldset, .fieldset td, .fieldset p, .fieldset li { font-size: 14.5px; }
legend { font-size: 14px; }
input[type="text"], input[type="password"], input[type="email"], input[type="url"],
input[type="number"], input[type="search"], input[type="tel"], input[type="date"],
textarea, select, .bginput, option, optgroup { font-size: 15.5px; }
.pagenav a, .pagenav td.alt1 a, .pagenav td.alt2 a { font-size: 15px; }
.bigusername { font-size: 19px; }
code, pre, .bbcode_code, .bbcode_php { font-size: 14.5px; }
.bbcode_postedby, .bbcode_description { font-size: 14px; }

/* счётчики и даты — не бледнее основного приглушённого */
.fz-sub-n { color: var(--fz-muted) !important; font-weight: 600 !important; }
.fz-fbrowsers { color: var(--fz-muted) !important; }
td.fz-fcell-last .smallfont > div:last-child { color: var(--fz-muted) !important; }
td.fz-fcell-last .time { color: var(--fz-muted) !important; }

/* ---- список тем: крупнее и контрастнее ---- */
tr.fz-threadrow { padding: 16px 18px !important; }
td.fz-th-icon img { width: 30px !important; height: 30px !important; opacity: .85 !important; }
.fz-th-titleline { font-size: 1.22rem !important; line-height: 1.4 !important; }
.fz-th-title { color: var(--fz-ink) !important; font-weight: 500 !important; }
tr.fz-sticky .fz-th-title { font-weight: 700 !important; }
.fz-th-pages { font-size: .92rem !important; color: var(--fz-muted) !important; }
.fz-th-author { font-size: .95rem !important; color: var(--fz-muted) !important; margin-top: 5px !important; }
.fz-th-author span { color: var(--fz-muted) !important; }
.fz-th-manage { font-size: .88rem !important; }
.fz-th-stat { font-size: .9rem !important; color: var(--fz-muted) !important; }
.fz-th-stat b { font-size: 1.18rem !important; }
.fz-th-last-name { font-size: .97rem !important; }
.fz-th-last-date { font-size: .86rem !important; color: var(--fz-muted) !important; }
.fz-th-last-ava { width: 40px !important; height: 40px !important; }
.fz-th-last-ava.noava::after {
  content: "" !important;
  width: 100%; height: 100%; display: block;
  background: var(--fz-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23a6a9b3' stroke-width='1.8' stroke-linecap='round'><circle cx='12' cy='8' r='3.6'/><path d='M4.5 20a7.5 7.5 0 0 1 15 0'/></svg>") no-repeat center/22px 22px;
  opacity: 1 !important;
}
.fz-th-last-arrow { color: var(--fz-muted) !important; }

/* заголовок «обычные темы» и подобные разделители */
td.thead, .fz-th-sep, tr.fz-sep td { color: var(--fz-muted) !important; }

/* ---- сообщение темы: крупнее и контрастнее ---- */
.fz-post-head, .fz-post-date { font-size: .95rem !important; color: var(--fz-muted) !important; }
.fz-post-head a { color: var(--fz-muted) !important; }
.fz-author-name { font-size: 1.18rem !important; }
.fz-author-title { font-size: .92rem !important; color: var(--fz-ink-2) !important; margin-bottom: 3px !important; }
.fz-author-rank { font-size: .88rem !important; color: var(--fz-muted) !important; }
.fz-author-stats { font-size: .92rem !important; color: var(--fz-ink-2) !important; }
.fz-author-stats .fz-stat { padding: 4px 0 !important; }
.fz-author-stats .fz-stat span { color: var(--fz-muted) !important; }
.fz-author-gifts { font-size: .9rem !important; color: var(--fz-ink-2) !important; }
.fz-msg-title { font-size: 1.02rem !important; color: var(--fz-ink-2) !important; }
.fz-msg-body { font-size: 1.05rem !important; line-height: 1.65 !important; }
.fz-msg-sig { font-size: .95rem !important; }
.fz-msg-edited { font-size: .88rem !important; color: var(--fz-muted) !important; }

/* ---------- Широкое содержимое не растягивает страницу ---------- */
/* Примеры bb-кодов, длинные ссылки и таблицы из старых сообщений
   раньше раздвигали вёрстку: теперь переносятся или прокручиваются внутри. */
.alt1, .alt2, .alt1Active, .alt2Active, td.panel, .fz-msg-body, .fz-post-body {
  overflow-wrap: anywhere;
  word-break: break-word;
}
pre, code, .bbcode_code, .bbcode_php, .bbcode_html {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}
div[id^="post_message_"] table,
td.alt1 > table[width]:not(.tborder),
td.alt2 > table[width]:not(.tborder) {
  max-width: 100%;
}

/* ==========================================================================
   Узкие экраны: старая табличная вёрстка не должна растягивать страницу
   ========================================================================== */
@media (max-width: 900px) {
  /* жёсткие «не переносить» из инлайновых стилей 2008 года */
  [style*="nowrap"], [style*="no-wrap"] { white-space: normal !important; }
  .thead, .tcat, .tfoot { white-space: normal; }

  /* Тёмная полоса с названием и кнопками меню: на узком экране
     раскладываем её в столбик, иначе подписи вставали вертикально. */
  tr > td.tcat, tr > td.vbmenu_control {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
    text-align: left;
  }
  /* строка-контейнер такой полосы тоже должна занимать всю ширину */
  table.tborder > tbody > tr:has(> td.vbmenu_control) { display: block; width: 100%; }
  tr > td.vbmenu_control {
    white-space: nowrap;
    border-top: 1px solid rgba(255,255,255,.08);
    line-height: 1.4;
    padding: 9px 14px;
  }

  /* Раскладочные таблицы без класса (нижние блоки «ваши права» и
     «быстрый переход», подвалы календаря) на узком экране складываем
     в колонку, иначе они тянут страницу вбок. */
  div > table:not([class]):not(#threadslist),
  div > table:not([class]):not(#threadslist) > tbody,
  div > table:not([class]):not(#threadslist) > tbody > tr,
  div > table:not([class]):not(#threadslist) > tbody > tr > td {
    display: block;
    width: auto !important;
    max-width: 100%;
  }
  div > table:not([class]) > tbody > tr > td { padding-bottom: 10px; }

  table { max-width: 100%; }
  td, th { word-break: break-word; }
  select, input[type="text"], input[type="password"], textarea { max-width: 100%; }
  img { max-width: 100%; height: auto; }
}

@media (max-width: 900px) {
  /* номер сообщения не должен слипаться с датой, когда шапка поста складывается */
  .fz-post-head-right { float: none !important; margin-left: 10px; }
  td.fz-post-head { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
}

/* Совсем узкие экраны: многоколоночные служебные таблицы прокручиваем внутри.
   Отдельным блоком, чтобы на планшете коробки с формами не обрезались. */
@media (max-width: 760px) {
  table table,
  table.tborder:not(#threadslist):not(.fz-post) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .fz-cat-card table.tborder,
  table.tborder#threadslist,
  table.fz-post {
    display: table !important;
    overflow: visible !important;
    width: 100% !important;
  }
  fieldset, .fieldset { max-width: 100%; box-sizing: border-box; }
}

@media (max-width: 760px) {
  /* Поля ввода из шаблонов 2008 года задают ширину атрибутом size=,
     из-за чего коробки входа и поиска не помещались на телефоне. */
  input[type="text"], input[type="password"], input[type="email"],
  input[type="search"], input[type="url"], select, textarea {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  fieldset, form fieldset { min-width: 0; }
  td.panel > table, td.alt1 > table, td.alt2 > table { width: 100% !important; }
}

@media (max-width: 760px) {
  /* Формы внутри панелей (обратная связь, восстановление пароля, настройки)
     на телефоне раскладываем в колонку: подпись сверху, поле под ней. */
  td.panelsurround, div.panel { max-width: 100%; box-sizing: border-box; padding: 12px 14px; }
  div.panel > table,
  div.panel > form > table,
  td.panelsurround table { width: 100% !important; }
  div.panel table > tbody > tr > td { display: block; width: auto !important; padding: 4px 0; }
}

/* Карточки считают ширину вместе с отступами и рамкой,
   иначе на узком экране они вылезали за край на величину полей. */
tr.fz-forumrow, tr.fz-threadrow, table.fz-post, .fz-cat-card { box-sizing: border-box; }
tr.fz-forumrow > td, tr.fz-threadrow > td { box-sizing: border-box; }

@media (max-width: 430px) {
  tr.fz-forumrow, tr.fz-threadrow { padding: 14px !important; gap: 12px !important; }
}

@media (max-width: 380px) {
  /* Самые узкие экраны: чуть компактнее и без неразрывных длинных слов. */
  td.fz-fcell-icon img.fz-ficon { width: 36px !important; height: 36px !important; }
  .fz-ftitle a { font-size: 1.16rem !important; }
  .fz-sub-t { font-size: .98rem !important; }
  .fz-fdesc { font-size: .92rem !important; }
  td.fz-fcell-main, td.fz-th-main {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }
  .fz-fsubforums, .fz-ftitle, .fz-fdesc { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  tr.fz-forumrow, tr.fz-threadrow { flex-wrap: wrap; }
  a.fz-sub { width: auto; max-width: 100%; }
}

/* ===== Быстрые действия модерации в сообщениях ===== */
.fz-modnote {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 6px;
  padding: 12px 16px;
  border: 1px solid #e3c68f;
  border-left: 4px solid #d9540b;
  border-radius: 8px;
  background: #fff6e6;
  color: #3a2a12;
  font-size: 15px;
  font-weight: 600;
}
.fz-modnote__text { flex: 1 1 auto; }
.fz-modnote__btn {
  border: 1px solid #d9540b;
  background: #fff;
  color: #b34406;
  border-radius: 7px;
  padding: 7px 14px;
  font: 700 14px/1 inherit;
  cursor: pointer;
}
.fz-modnote__btn:hover { background: #d9540b; color: #fff; }

a.fz-qdel, a.fz-qban { color: #b02a2a !important; }
a.fz-qdel:hover, a.fz-qban:hover { background: #b02a2a; color: #fff !important; border-color: #b02a2a; }


/* ---------- Постраничная навигация: поправки для узких экранов ---------- */
/* Общие правила тёмной полосы не должны трогать пагинацию. */
.pagenav table.tborder > tbody > tr:has(> td.vbmenu_control) { display: contents !important; width: auto !important; }

@media (max-width: 760px) {
  .pagenav tr > td.vbmenu_control {
    display: flex !important;
    align-items: center;
    width: auto !important;
    border-top: 0 !important;
    line-height: 1;
    padding: 0 6px 0 0 !important;
    text-align: left;
  }
  .pagenav td.vbmenu_control:last-child { width: 40px !important; height: 40px !important; padding: 0 !important; }
  .pagenav table, .pagenav table.tborder { gap: 5px; }
}

/* ---------- «Похожие темы» на узком экране ---------- */
/* Пять колонок в 345 пикселей не влезают — раскладываем строку в столбик. */
@media (max-width: 760px) {
  #collapseobj_similarthreads > tr { display: block; padding: 4px 0; }
  #collapseobj_similarthreads > tr.thead { display: none; }
  #collapseobj_similarthreads > tr > td {
    display: block;
    width: auto !important;
    white-space: normal !important;
    border-bottom: 0 !important;
  }
  #collapseobj_similarthreads > tr > td + td { padding-top: 0 !important; }
}

/* ==========================================================================
   РЕДИЗАЙН 2026 — единая композиция
   Ниже собраны правила, которые задают общую геометрию форума:
   фон страницы, центральный контейнер, плотность, карточки.
   Всё опирается на переменные из :root, отдельных стилей для страниц нет.
   ========================================================================== */

/* ---------- Страница и контейнер ---------- */
html { background: var(--fz-page-bg); }
body {
  background: var(--fz-page-bg);
  color: var(--fz-ink);
  font-size: 16px;
}

/* vBulletin оборачивает содержимое в div.page внутри div[align=center] */
div.page {
  max-width: var(--fz-container);
  margin: 0 auto !important;
  background: transparent !important;
  padding: 0 18px !important;
  box-sizing: border-box;
}
/* шапка сайта живёт своей вёрсткой, её ширину задаёт fz_header.php */
#fzh + div.page, div.page > div.page { padding: 0 !important; }

/* вертикальный ритм между крупными блоками */
div.page > div,
form > div.page > div { margin-bottom: 0; }

/* ---------- Хлебные крошки ---------- */
.fz-crumb {
  max-width: var(--fz-container);
  margin: 14px auto 12px !important;
  padding: 0 18px;
  font-size: 13px;
  color: var(--fz-muted);
  box-sizing: border-box;
}
.fz-crumb a:link, .fz-crumb a:visited { color: var(--fz-muted); }
.fz-crumb a:hover { color: var(--fz-accent-dark); }
.fz-crumb .fz-crumb-home { font-weight: 600; color: var(--fz-ink-2); }
.fz-crumb strong { font-weight: 600; color: var(--fz-ink); }

/* ---------- Графитовые полосы заголовков ---------- */
.tcat, td.tcat {
  background: var(--fz-graphite) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0)) !important;
  color: #f2f3f5 !important;
  font-size: 14.5px !important;
  font-weight: 600;
  line-height: 1.3 !important;
  height: auto !important;
  padding: 11px 16px !important;
  border: 0 !important;
  border-radius: var(--fz-radius) var(--fz-radius) 0 0 !important;
}
.tcat a:link, .tcat a:visited { color: #fff !important; }
.tcat a:hover { color: var(--fz-accent) !important; }

.tcat.fz-cat { line-height: 1.3 !important; height: auto !important; padding: 12px 16px !important; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited {
  font-size: 16px !important; font-weight: 700 !important; letter-spacing: .01em;
}
.fz-cat-desc { font-size: 13px !important; color: rgba(255,255,255,.62) !important; font-weight: 400; }

/* служебная строка-шапка таблицы: тише и компактнее */
.thead, td.thead {
  background: var(--fz-soft) !important;
  color: var(--fz-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 8px 14px !important;
  border-bottom: 1px solid var(--fz-line) !important;
}
.thead a:link, .thead a:visited { color: var(--fz-muted) !important; }

.tfoot, td.tfoot {
  background: var(--fz-soft) !important;
  color: var(--fz-ink-2) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border-top: 1px solid var(--fz-line) !important;
  border-radius: 0 0 var(--fz-radius) var(--fz-radius);
}

/* ---------- Карточки ---------- */
.fz-cat-card {
  background: var(--fz-surface);
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow);
  overflow: hidden;
  margin-bottom: 18px;
}
.fz-cat-card > table.tborder { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.fz-cat-foot { display: none; }

table.tborder {
  background: var(--fz-surface);
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow);
  overflow: hidden;
}

/* ---------- Кнопки ---------- */
.fz-btn, a.fz-btn:link, a.fz-btn:visited,
.fzb, .fzgo, input.button, input[type="submit"], input[type="button"], button {
  font-family: var(--fz-font);
  font-size: 13.5px !important;
  font-weight: 600;
  line-height: 1.2;
  padding: 9px 16px !important;
  border-radius: var(--fz-radius-sm) !important;
  transition: background .15s, color .15s, border-color .15s;
}
.fz-btn, a.fz-btn:link, a.fz-btn:visited {
  background: var(--fz-accent) !important;
  color: #fff !important;
  border: 1px solid var(--fz-accent) !important;
}
.fz-btn:hover, a.fz-btn:hover {
  background: var(--fz-accent-dark) !important;
  border-color: var(--fz-accent-dark) !important;
  color: #fff !important;
}
.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited,
.fzb-ghost {
  background: var(--fz-surface) !important;
  color: var(--fz-ink) !important;
  border: 1px solid var(--fz-border) !important;
}
.fz-btn-ghost:hover, a.fz-btn-ghost:hover, .fzb-ghost:hover {
  background: var(--fz-soft) !important;
  border-color: #cfcdc8 !important;
  color: var(--fz-ink) !important;
}

/* ---------- Состояния фокуса ---------- */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--fz-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ==========================================================================
   РЕДИЗАЙН 2026 — главная форума: чат и карточки разделов
   ========================================================================== */

/* ---------- Чат ---------- */
.fz-chat-card {
  background: var(--fz-surface);
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow);
  overflow: hidden;
  margin: 0 0 18px 0;
}
.fz-chat-frame { display: block; width: 100%; height: 250px; border: 0; background: #fff; }

/* ---------- Категория ---------- */
.fz-cat-card { margin: 0 0 18px 0 !important; background: var(--fz-surface) !important; border: 1px solid var(--fz-border) !important; }
.tcat.fz-cat {
  display: flex !important; align-items: center; justify-content: space-between;
  background: var(--fz-graphite) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)) !important;
  border-radius: var(--fz-radius) var(--fz-radius) 0 0 !important;
  line-height: 1.3 !important; height: auto !important;
  padding: 12px 16px !important;
}
.fz-cat-card table.tborder { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; }

/* служебная строка с названиями колонок на главной не нужна: всё подписано в самой карточке */
.fz-cat-card tr.fz-colhead { display: none !important; }

/* ---------- Строка раздела ---------- */
tr.fz-forumrow {
  display: flex !important;
  align-items: stretch !important;
  gap: 16px !important;
  padding: 16px 18px !important;
  background: var(--fz-surface) !important;
  border-top: 1px solid var(--fz-line) !important;
  transition: background .15s;
}
tr.fz-forumrow:first-child { border-top: 0 !important; }
tr.fz-forumrow:hover { background: var(--fz-soft) !important; }

/* иконка в мягком квадрате */
td.fz-fcell-icon {
  flex: 0 0 auto !important;
  padding: 0 !important;
  display: flex !important; align-items: flex-start;
}
td.fz-fcell-icon img.fz-ficon,
td.fz-fcell-icon img {
  width: 44px !important; height: 44px !important;
  padding: 8px !important;
  background: var(--fz-soft) !important;
  border: 1px solid var(--fz-line) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}

td.fz-fcell-main { flex: 1 1 auto !important; padding: 0 !important; min-width: 0 !important; }
.fz-ftitle { line-height: 1.25; }
.fz-ftitle a { font-size: 17px !important; font-weight: 700 !important; color: var(--fz-ink) !important; }
.fz-ftitle a:hover { color: var(--fz-accent-dark) !important; }
.fz-fbrowsers { font-size: 12px !important; color: var(--fz-muted) !important; font-weight: 400; }
.fz-fdesc { font-size: 13.5px !important; color: var(--fz-muted) !important; margin-top: 4px !important; line-height: 1.5 !important; }

/* подразделы — компактной строкой, а не столбиком */
.fz-fsubforums { margin-top: 10px !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.fz-fsubforums .fz-fsublabel {
  display: inline-block !important; margin: 0 !important;
  font-size: 11px !important; text-transform: uppercase; letter-spacing: .06em;
  color: var(--fz-muted) !important; font-weight: 700 !important;
}
a.fz-sub, a.fz-sub:link, a.fz-sub:visited {
  display: inline-flex !important; width: auto !important;
  padding: 0 !important; gap: 6px !important;
  color: var(--fz-ink-2) !important;
}
.fz-sub-t { font-size: 13.5px !important; font-weight: 600 !important; }
.fz-sub-n { font-size: 11.5px !important; color: var(--fz-muted) !important; }
a.fz-sub:hover { transform: none !important; color: var(--fz-accent-dark) !important; }

/* колонка последнего сообщения */
td.fz-fcell-last {
  flex: 0 0 230px !important; width: 230px !important; max-width: 230px !important;
  padding: 2px 0 2px 16px !important;
  border-left: 1px solid var(--fz-line) !important;
  align-self: stretch;
}
td.fz-fcell-last .smallfont { font-size: 12.5px !important; color: var(--fz-muted) !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 13.5px !important; }
td.fz-fcell-last .smallfont > div:first-child a { color: var(--fz-link) !important; font-weight: 600 !important; }
td.fz-fcell-last .smallfont > div:first-child a:hover { color: var(--fz-accent-dark) !important; }
td.fz-fcell-last .smallfont > div:nth-child(2) { color: var(--fz-ink-2) !important; font-size: 12.5px !important; }
td.fz-fcell-last .smallfont > div:last-child { color: var(--fz-muted) !important; font-size: 12px !important; margin-top: 1px !important; }

/* счётчики тем и сообщений */
td.fz-fcell-num {
  flex: 0 0 74px !important; width: 74px !important;
  padding: 2px 0 !important;
  text-align: center !important;
  font-size: 15px !important; font-weight: 700; color: var(--fz-ink-2) !important;
  align-self: center;
}
td.fz-fcell-mod { flex: 0 0 120px !important; width: 120px !important; font-size: 12.5px !important; color: var(--fz-muted) !important; align-self: center; }

/* ---------- Подгонка высот ---------- */
.tcat.fz-cat { padding: 10px 16px !important; }
.tcat.fz-cat .fz-cat-title,
.tcat.fz-cat a.fz-cat-title:link,
.tcat.fz-cat a.fz-cat-title:visited { line-height: 1.3 !important; }
.fz-cat-collapse { align-self: center; }

tr.fz-forumrow { min-height: 92px !important; }

/* полосы «Подразделы» и «Темы раздела» внутри страницы раздела */
table td.tcat[width="100%"], .fz-cat-card > .tcat {
  background: var(--fz-graphite) !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)) !important;
  color: #f2f3f5 !important;
  font-size: 14.5px !important; font-weight: 600 !important;
  line-height: 1.3 !important; height: auto !important;
  padding: 11px 16px !important;
}

/* ==========================================================================
   РЕДИЗАЙН 2026 — страница раздела: подразделы и список тем
   ========================================================================== */

/* список тем — одна карточка с тонкими разделителями вместо россыпи карточек */
#threadslist, .threadlist {
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius) !important;
  box-shadow: var(--fz-shadow);
  overflow: hidden;
}
tr.fz-threadrow {
  display: flex !important;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: var(--fz-surface) !important;
  border: 0 !important;
  border-top: 1px solid var(--fz-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background .15s;
}
tr.fz-threadrow:first-child { border-top: 0 !important; }
tr.fz-threadrow:hover { background: var(--fz-soft) !important; box-shadow: none !important; border-color: var(--fz-line) !important; }

/* важные темы — едва заметный тёплый фон и закреплённый значок */
tr.fz-sticky { background: #fffdf8 !important; }
tr.fz-sticky:hover { background: #fffaf0 !important; }
tr.fz-sticky .fz-th-title { font-weight: 700 !important; }

td.fz-th-icon { align-self: center; }
td.fz-th-icon img, td.fz-th-icon .fzi { width: 22px !important; height: 22px !important; opacity: .75; }

.fz-th-titleline { font-size: 16px !important; line-height: 1.35 !important; }
.fz-th-title { color: var(--fz-ink) !important; font-weight: 500 !important; }
.fz-th-title:hover { color: var(--fz-link) !important; }
.fz-th-pages { font-size: 12.5px !important; color: var(--fz-muted) !important; }
.fz-th-pages a { color: var(--fz-muted) !important; padding: 0 2px; }
.fz-th-pages a:hover { color: var(--fz-accent-dark) !important; }
.fz-th-author { font-size: 12.5px !important; color: var(--fz-muted) !important; margin-top: 3px !important; }
.fz-th-author span { color: var(--fz-muted) !important; }
.fz-th-manage { font-size: 12px !important; }

/* счётчики */
td.fz-th-stats {
  flex: 0 0 132px !important;
  border-left: 1px solid var(--fz-line) !important;
  padding-left: 14px !important;
  gap: 1px !important;
}
.fz-th-stat { font-size: 12px !important; color: var(--fz-muted) !important; }
.fz-th-stat b { font-family: var(--fz-font) !important; font-size: 15px !important; color: var(--fz-ink) !important; }

/* последнее сообщение */
td.fz-th-last { flex: 0 0 216px !important; border-left: 1px solid var(--fz-line) !important; }
.fz-th-last-link { padding: 5px 7px !important; border-radius: var(--fz-radius-sm) !important; }
.fz-th-last-link:hover { background: var(--fz-soft-2) !important; }
.fz-th-last-ava { width: 34px !important; height: 34px !important; background: var(--fz-soft-2) !important; border: 1px solid var(--fz-line); }
.fz-th-last-ava.noava::after {
  content: '';
  width: 16px; height: 16px;
  background: var(--fz-muted);
  opacity: .45;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='8.5' r='3.8'/><path d='M4.5 20c0-4.2 3.4-7 7.5-7s7.5 2.8 7.5 7z'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='8.5' r='3.8'/><path d='M4.5 20c0-4.2 3.4-7 7.5-7s7.5 2.8 7.5 7z'/></svg>") center/contain no-repeat;
}
.fz-th-last-name { font-size: 13px !important; color: var(--fz-link) !important; }
.fz-th-last-date { font-size: 11.5px !important; color: var(--fz-muted) !important; }
.fz-th-last-arrow { color: var(--fz-border) !important; font-size: 18px !important; }

/* подпись «Обычные темы» между блоками */
tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky) { margin-top: 0 !important; }
tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky)::before {
  content: 'Обычные темы';
  position: absolute; top: -9px; left: 16px;
  padding: 0 6px;
  background: var(--fz-surface);
  font-size: 11px !important; letter-spacing: .08em; color: var(--fz-muted) !important;
}

/* ==========================================================================
   РЕДИЗАЙН 2026 — страница темы: сообщение как законченная карточка
   ========================================================================== */

table.fz-post {
  width: 100% !important;
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius) !important;
  box-shadow: var(--fz-shadow);
  overflow: hidden;
  margin: 0 !important;
}
/* промежуток между сообщениями задаёт обёртка div[id^="edit"] */
div[id^="edit"] { padding: 0 0 14px 0 !important; }

/* верхняя служебная полоса */
td.fz-post-head {
  background: var(--fz-soft) !important;
  border-bottom: 1px solid var(--fz-line) !important;
  padding: 8px 16px !important;
  font-size: 12.5px !important;
  color: var(--fz-muted) !important;
}
.fz-post-date { color: var(--fz-muted) !important; font-size: 12.5px !important; }
.fz-post-head a { color: var(--fz-muted) !important; }
.fz-post-head a:hover { color: var(--fz-accent-dark) !important; }
.fz-post-head-right { float: right; display: flex; align-items: center; gap: 8px; }
.fz-post-head-right a { font-weight: 600; }

/* ---------- Колонка автора ---------- */
td.fz-author {
  width: 196px !important;
  min-width: 196px !important;
  max-width: 196px !important;
  background: var(--fz-card-soft) !important;
  border-right: 1px solid var(--fz-line) !important;
  padding: 16px 14px !important;
  text-align: center;
  vertical-align: top !important;
}
.fz-author-name { font-size: 15.5px !important; font-weight: 700 !important; margin-bottom: 3px !important; }
.fz-author-name a, .fz-author-name a:link, .fz-author-name a:visited { color: var(--fz-link) !important; }
.fz-author-name a:hover { color: var(--fz-accent-dark) !important; }
.fz-author-title { font-size: 12px !important; color: var(--fz-muted) !important; margin-bottom: 2px !important; }
.fz-author-rank { font-size: 11.5px !important; color: var(--fz-muted) !important; margin-bottom: 8px !important; }

.fz-author-ava { margin: 10px auto 12px !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img {
  width: 80px !important; height: 80px !important;
  object-fit: cover;
  border-radius: 10px !important;
  border: 1px solid var(--fz-line) !important;
  background: var(--fz-surface);
  padding: 0 !important;
}

.fz-author-stats {
  margin-top: 10px !important;
  text-align: left;
  font-size: 12.5px !important;
  color: var(--fz-ink-2) !important;
  display: flex; flex-direction: column; gap: 3px;
}
.fz-author-stats .fz-stat {
  padding: 0 !important;
  border: 0 !important;
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
}
.fz-author-stats .fz-stat span { color: var(--fz-muted) !important; margin: 0 !important; font-size: 12px !important; }
.fz-author-stats .fz-stat b { color: var(--fz-ink) !important; }
.fz-flag { vertical-align: -2px; }
.fz-stat-social { margin-top: 10px !important; }
.fz-vk {
  display: inline-block; padding: 3px 9px;
  background: var(--fz-surface); border: 1px solid var(--fz-border);
  border-radius: 6px; font-size: 11.5px; font-weight: 700; color: var(--fz-link) !important;
}
.fz-vk:hover { border-color: var(--fz-link); }
.fz-author-gifts { font-size: 12px !important; color: var(--fz-muted) !important; margin-top: 10px !important; }

/* ---------- Текст сообщения ---------- */
td.fz-msg { padding: 22px 26px !important; vertical-align: top !important; }
.fz-msg-title {
  font-size: 14px !important; font-weight: 600 !important;
  color: var(--fz-ink-2) !important; margin-bottom: 12px !important;
}
.fz-msg-body {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: var(--fz-ink) !important;
}
.fz-msg-body p { margin: 0 0 12px; }
.fz-msg-body img { max-width: 100%; height: auto; }

/* подпись */
.fz-msg-sig {
  margin-top: 26px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--fz-line) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--fz-muted) !important;
}
.fz-msg-sig a, .fz-msg-sig a:link, .fz-msg-sig a:visited { color: var(--fz-link) !important; }
.fz-msg-sig img { max-width: 100%; height: auto; }
.fz-msg-edited { margin-top: 14px !important; font-size: 12px !important; color: var(--fz-muted) !important; }

/* ---------- Нижняя полоса действий ---------- */
td.fz-post-foot-left, td.fz-post-foot-right {
  background: var(--fz-soft) !important;
  border-top: 1px solid var(--fz-line) !important;
  padding: 9px 16px !important;
  vertical-align: middle !important;
}
td.fz-post-foot-left { font-size: 12px !important; color: var(--fz-muted) !important; }
td.fz-post-foot-right { text-align: right; }
td.fz-post-foot-right > a, td.fz-post-foot-right > span, td.fz-post-foot-right .fzb, td.fz-post-foot-right .fz-btn {
  vertical-align: middle;
  margin-left: 6px;
}
/* все кнопки в подвале сообщения одной высоты */
td.fz-post-foot-right .fzb, td.fz-post-foot-right .fz-btn, td.fz-post-foot-right .fz-btn-ghost {
  display: inline-flex !important; align-items: center; justify-content: center;
  height: 32px !important; padding: 0 14px !important;
  font-size: 13px !important; border-radius: var(--fz-radius-sm) !important;
}
td.fz-post-foot-left .fzb { display: inline-flex !important; align-items: center; height: 28px !important; padding: 0 12px !important; font-size: 12.5px !important; }

/* колонка автора: ширина считается вместе с отступами */
td.fz-author { box-sizing: border-box !important; width: 200px !important; min-width: 200px !important; max-width: 200px !important; }

/* ==========================================================================
   РЕДИЗАЙН 2026 — bb-код: цитаты, код, спойлеры, вложения
   ========================================================================== */

/* цитата */
.fz-msg-body table[style*="inset"], .fz-msg-body td[style*="inset"],
div[id^="post_message_"] td[style*="inset"], div[id^="post_message_"] td[style*="INSET"],
.bbcode_container .bbcode_quote, .bbcode_quote {
  background: var(--fz-card-soft) !important;
  border: 1px solid var(--fz-line) !important;
  border-left: 3px solid var(--fz-accent) !important;
  border-radius: var(--fz-radius-sm) !important;
  padding: 12px 16px !important;
  margin: 12px 0 !important;
  font-size: 15px !important;
  color: var(--fz-ink-2) !important;
}
/* заголовок цитаты «Сообщение от …» */
.bbcode_postedby, .fz-msg-body .smallfont strong {
  font-size: 12.5px !important;
  color: var(--fz-muted) !important;
  font-weight: 600 !important;
}
.bbcode_postedby img { display: none; }
/* вложенные цитаты — тише, без матрёшки жирных рамок */
.bbcode_quote .bbcode_quote,
div[id^="post_message_"] td[style*="inset"] td[style*="inset"] {
  border-left-color: var(--fz-border) !important;
  background: var(--fz-surface) !important;
}

/* код */
.bbcode_code, .bbcode_php, .bbcode_html, pre, code {
  font-family: var(--fz-mono) !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  background: var(--fz-soft) !important;
  border: 1px solid var(--fz-line) !important;
  border-radius: var(--fz-radius-sm) !important;
  color: var(--fz-ink) !important;
}
.bbcode_code, .bbcode_php, .bbcode_html { padding: 12px 14px !important; margin: 10px 0 !important; }
code { padding: 1px 5px !important; }
.bbcode_description { font-size: 12px !important; color: var(--fz-muted) !important; font-weight: 600; }

/* спойлер */
.fz-msg-body input[type="button"][value*="Показать"],
.fz-msg-body input.button[onclick*="display"] {
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  color: var(--fz-ink) !important;
  font-size: 13px !important;
  padding: 6px 12px !important;
}

/* вложения */
.fz-msg-attach fieldset.fieldset {
  border: 1px solid var(--fz-line) !important;
  border-radius: var(--fz-radius-sm) !important;
  background: var(--fz-soft) !important;
  padding: 10px 14px !important;
  margin-top: 12px !important;
}
.fz-msg-attach legend { font-size: 12px !important; color: var(--fz-muted) !important; font-weight: 700; padding: 0 6px; }
.fz-msg-attach img { max-width: 100%; height: auto; border-radius: 6px; }

/* списки в сообщении */
.fz-msg-body ul, .fz-msg-body ol { margin: 10px 0 10px 22px; }
.fz-msg-body li { margin: 3px 0; }

/* ==========================================================================
   РЕДИЗАЙН 2026 — узкие экраны
   ========================================================================== */

/* ---- планшет: колонка автора уже, но двухколоночная структура остаётся ---- */
@media (max-width: 1100px) {
  td.fz-author { width: 172px !important; min-width: 172px !important; max-width: 172px !important; padding: 14px 12px !important; }
  .fz-author-ava img, .fz-author-ava img.fz-ava-img { width: 68px !important; height: 68px !important; }
  td.fz-msg { padding: 18px 20px !important; }
  td.fz-fcell-last { flex-basis: 200px !important; width: 200px !important; max-width: 200px !important; }
  td.fz-th-last { flex-basis: 190px !important; }
}

/* ---- телефон: сообщение перестраивается в колонку ---- */
@media (max-width: 760px) {
  div.page { padding: 0 12px !important; }
  .fz-crumb { padding: 0 12px; margin: 10px auto !important; }

  table.fz-post, table.fz-post > tbody { display: block !important; width: 100% !important; }
  table.fz-post > tbody > tr { display: block !important; width: 100%; }

  /* панель автора — горизонтальной полосой над сообщением */
  td.fz-author {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100% !important; min-width: 0 !important; max-width: none !important;
    padding: 10px 14px !important;
    text-align: left !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--fz-line) !important;
    flex-wrap: wrap;
  }
  .fz-author-ava { order: -1; margin: 0 !important; }
  .fz-author-ava img, .fz-author-ava img.fz-ava-img { width: 44px !important; height: 44px !important; border-radius: 8px !important; }
  .fz-author-name { margin: 0 !important; font-size: 15px !important; }
  .fz-author-title, .fz-author-rank { display: inline !important; margin: 0 6px 0 0 !important; }

  /* второстепенная статистика на телефоне не нужна */
  .fz-author-stats {
    flex: 1 1 100%;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 4px 14px !important;
    margin-top: 6px !important;
  }
  .fz-author-stats .fz-stat { justify-content: flex-start; gap: 5px; }
  .fz-author-stats .fz-stat:nth-child(n+4) { display: none !important; }
  .fz-author-gifts, .fz-stat-social { display: none !important; }

  td.fz-msg { display: block !important; width: 100% !important; padding: 16px 14px !important; }
  .fz-msg-body { font-size: 15.5px !important; }
  td.fz-post-head { padding: 8px 14px !important; }
  td.fz-post-foot-left, td.fz-post-foot-right { display: block !important; width: 100% !important; text-align: left !important; }
  td.fz-post-foot-right { padding-top: 0 !important; }
  td.fz-post-foot-right > a, td.fz-post-foot-right > span { margin: 4px 6px 0 0 !important; }

  /* строка раздела: правая колонка уходит под описание */
  tr.fz-forumrow { flex-wrap: wrap !important; min-height: 0 !important; }
  td.fz-fcell-last {
    flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important;
    border-left: 0 !important; border-top: 1px solid var(--fz-line) !important;
    padding: 10px 0 0 0 !important; margin-top: 10px;
  }
  td.fz-fcell-num, td.fz-fcell-mod { display: none !important; }

  /* строка темы: счётчики в строку, последнее сообщение снизу */
  tr.fz-threadrow { flex-wrap: wrap !important; }
  td.fz-th-stats {
    flex: 0 0 auto !important;
    flex-direction: row !important;
    gap: 12px !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    order: 3;
  }
  td.fz-th-last {
    flex: 1 1 100% !important;
    border-left: 0 !important;
    border-top: 1px solid var(--fz-line) !important;
    padding: 8px 0 0 0 !important;
    margin-top: 8px;
    order: 4;
  }
  .fz-chat-frame { height: 300px; }
}

/* ---- совсем узкие ---- */
@media (max-width: 430px) {
  div.page { padding: 0 10px !important; }
  tr.fz-forumrow, tr.fz-threadrow { padding: 12px !important; gap: 10px !important; }
  td.fz-fcell-icon img, td.fz-fcell-icon img.fz-ficon { width: 38px !important; height: 38px !important; }
  .fz-ftitle a { font-size: 16px !important; }
  .fz-th-titleline { font-size: 15px !important; }
  td.fz-msg { padding: 14px 12px !important; }
}

/* ==========================================================================
   РЕДИЗАЙН 2026 — единые состояния наведения
   ========================================================================== */
a:hover { color: var(--fz-accent-dark); }
.fz-msg-body a:hover { color: var(--fz-accent-dark) !important; }
tr.fz-forumrow a.fz-sub:focus-visible,
.fz-th-title:focus-visible { outline: 2px solid var(--fz-accent); outline-offset: 2px; }

@media (max-width: 760px) {
  /* блочные ячейки считают ширину вместе с отступами */
  table.fz-post > tbody > tr > td { box-sizing: border-box !important; max-width: 100% !important; }
}

/* мультицитата — такая же кнопка, как остальные действия */
td.fz-post-foot-right .fzb-mq,
td.fz-post-foot-right span.fzb {
  display: inline-flex !important; align-items: center; justify-content: center;
  height: 32px !important; padding: 0 14px !important;
  font-size: 13px !important; font-weight: 600;
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius-sm) !important;
  color: var(--fz-ink) !important;
}
td.fz-post-foot-right span.fzb:hover { background: var(--fz-soft) !important; border-color: #cfcdc8 !important; }
td.fz-post-foot-right .fzb-mq.is-on {
  background: var(--fz-accent-soft) !important;
  border-color: var(--fz-accent) !important;
  color: var(--fz-accent-dark) !important;
}
td.fz-post-foot-right a { text-decoration: none !important; }
td.fz-post-foot-right { line-height: 1; }

/* ==========================================================================
   РЕДИЗАЙН 2026 — панели действий над списками и подвал
   ========================================================================== */

/* строка «Новая тема» + пагинация над списком тем */
.fz-toolbar, .controlbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
  margin: 0 0 12px 0;
}

/* пагинация в общем ритме страницы */
.pagenav { margin: 12px 0; }
.pagenav td.vbmenu_control { color: var(--fz-muted) !important; }
.pagenav a, .pagenav td.alt1 a, .pagenav td.alt2 a, .pagenav td > span.smallfont {
  border-color: var(--fz-border) !important;
  color: var(--fz-ink) !important;
  background: var(--fz-surface) !important;
}
.pagenav td.alt2 > span.smallfont,
.pagenav td.alt1Active a, .pagenav td.alt2Active a {
  background: var(--fz-accent) !important; border-color: var(--fz-accent) !important; color: #fff !important;
}
.pagenav a:hover { background: var(--fz-accent-soft) !important; border-color: var(--fz-accent) !important; color: var(--fz-accent-dark) !important; }

/* блоки «Ваши права», «Правила раздела», «Быстрый переход» */
td.panelsurround, div.panel, .fz-cat-card > .tfoot {
  background: var(--fz-surface) !important;
  border-color: var(--fz-line) !important;
}
.panelsurround { background: transparent !important; }

/* подвал форума */
.footer, .fz-footer, div.page > .tfoot {
  font-size: 12.5px;
  color: var(--fz-muted);
}

/* поля ввода — в тон карточкам */
input[type="text"], input[type="password"], input[type="email"], input[type="url"],
input[type="number"], input[type="search"], input[type="tel"], textarea, select, .bginput {
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius-sm) !important;
  color: var(--fz-ink) !important;
  font-family: var(--fz-font) !important;
  font-size: 15px !important;
  padding: 9px 12px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--fz-accent) !important;
  box-shadow: 0 0 0 3px rgba(255,122,24,.14) !important;
  outline: none !important;
}

/* таблицы-контейнеры без легаси-рамок */
table.tborder > tbody > tr > td.alt1,
table.tborder > tbody > tr > td.alt2,
td.alt1, td.alt2 {
  background: var(--fz-surface) !important;
  border-color: var(--fz-line) !important;
  color: var(--fz-ink);
}
td.alt2 { background: var(--fz-soft) !important; }

/* счётчики раздела с подписями вместо шапки таблицы */
td.fz-fcell-num { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 1px; }
td.fz-fcell-num b { font-size: 16px; font-weight: 700; color: var(--fz-ink); }
.fz-fcell-cap { font-size: 11px; color: var(--fz-muted); text-transform: lowercase; letter-spacing: .02em; }

/* значок «Новое» и метка важной темы */
.fz-th-new .fzb, .fz-th-new span.fzb {
  display: inline-flex; align-items: center; height: 20px; padding: 0 8px !important;
  background: var(--fz-accent-soft) !important; border: 1px solid rgba(255,122,24,.45) !important;
  color: var(--fz-accent-dark) !important; font-size: 11px !important; font-weight: 700 !important;
  border-radius: 5px !important; margin-right: 6px;
}
.fz-th-titleline > b, .fz-th-titleline > strong,
.fz-th-titleline .prefix, .fz-th-titleline > span[style*="color"] {
  font-size: 11.5px !important; font-weight: 700 !important;
  color: var(--fz-success) !important;
  text-transform: uppercase; letter-spacing: .04em;
  margin-right: 6px;
}
.fzi-pin { opacity: .8; }

/* заглушка аватара, когда его нет */
.fz-ava-stub {
  display: inline-flex; align-items: center; justify-content: center;
  width: 80px; height: 80px;
  border-radius: 10px;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  color: var(--fz-muted);
  font-size: 30px; font-weight: 700; line-height: 1;
  text-transform: uppercase;
}
@media (max-width: 1100px) { .fz-ava-stub { width: 68px; height: 68px; font-size: 26px; } }
@media (max-width: 760px)  { .fz-ava-stub { width: 44px; height: 44px; font-size: 18px; border-radius: 8px; } }

/* счётчики темы — по центру колонки, число и подпись в одну колонку */
td.fz-th-stats { align-items: center !important; justify-content: center !important; text-align: center !important; }
.fz-th-stat { display: flex; flex-direction: column; line-height: 1.2; }
.fz-th-stat b { margin: 0 !important; }

/* длина строки текста сообщения — комфортная даже на широком мониторе */
.fz-msg-body { max-width: 92ch; }

@media (max-width: 900px) {
  /* дата слева, номер сообщения справа — как на десктопе */
  td.fz-post-head { flex-direction: row !important; align-items: center; }
  .fz-post-date { order: 1; }
  .fz-post-head-right { order: 2; margin-left: auto !important; }
  /* тёмная полоса опций темы — по левому краю */
  table td.tcat[width="100%"], td.vbmenu_control { text-align: left !important; }
}

@media (max-width: 760px) {
  /* последнее сообщение и счётчики на телефоне остаются видимыми */
  td.fz-fcell-last { display: block !important; }
  td.fz-th-last, td.fz-th-stats { display: flex !important; }
  td.fz-fcell-num { display: flex !important; }
  td.fz-fcell-mod { display: none !important; }
}

@media (max-width: 760px) {
  /* строка «Новая тема / Ответить» + пагинация: раскладываем, а не наезжаем друг на друга */
  table[style*="margin-bottom"] > tbody > tr {
    display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 10px;
  }
  table[style*="margin-bottom"] > tbody > tr > td {
    display: block !important; width: auto !important; max-width: 100%; text-align: left !important;
  }
  table[style*="margin-bottom"] { margin-bottom: 12px !important; }

  /* тёмная полоса опций раздела/темы — на всю ширину, пункты в столбик */
  table.tborder td.tcat[width="100%"],
  table.tborder td.vbmenu_control {
    display: block !important; width: 100% !important; box-sizing: border-box !important;
    border-radius: 0 !important;
  }
  table.tborder:has(> tbody > tr > td.vbmenu_control) { clear: both; border-radius: var(--fz-radius) !important; overflow: hidden; }
}

@media (max-width: 760px) {
  /* таблица-полоса опций целиком становится блочной, иначе ячейки не растягиваются */
  .pagenav table.tborder { display: flex !important; }
  .pagenav table.tborder > tbody, .pagenav table.tborder > tbody > tr { display: contents !important; }

  table.tborder:not(.pagenav table):has(> tbody > tr > td.vbmenu_control),
  table.tborder:not(.pagenav table):has(> tbody > tr > td.tcat) {
    display: block !important; width: 100% !important; overflow: hidden !important;
  }
  table.tborder:not(.pagenav table):has(> tbody > tr > td.vbmenu_control) > tbody,
  table.tborder:not(.pagenav table):has(> tbody > tr > td.tcat) > tbody { display: block !important; width: 100% !important; }
  table.tborder:not(.pagenav table):has(> tbody > tr > td.vbmenu_control) > tbody > tr,
  table.tborder:not(.pagenav table):has(> tbody > tr > td.tcat) > tbody > tr { display: block !important; width: 100% !important; }
}

@media (max-width: 760px) {
  td.panelsurround, div.panel { box-sizing: border-box !important; max-width: 100% !important; }
}

/* ==========================================================================
   ПОЛИРОВКА — плотнее, легче, чище. Концепция та же, меняются только
   вертикальные интервалы и вес второстепенных элементов.
   ========================================================================== */

/* ---------- Страница раздела ---------- */

/* строки тем плотнее */
tr.fz-threadrow { padding: 9px 16px !important; min-height: 72px !important; gap: 12px !important; }
.fz-th-titleline { font-size: 15.5px !important; }
.fz-th-author { margin-top: 2px !important; font-size: 12px !important; }

/* «Важно» — компактный бейдж вместо крупной зелёной надписи */
.fz-th-titleline > b, .fz-th-titleline > strong,
.fz-th-titleline .prefix, .fz-th-titleline > span[style*="color"] {
  display: inline-block;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  background: rgba(41,148,71,.10) !important;
  color: var(--fz-success) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  vertical-align: 1px;
  margin-right: 5px !important;
}

/* счётчики: меньше веса, просмотры тише ответов */
td.fz-th-stats { flex: 0 0 108px !important; padding-left: 12px !important; gap: 2px !important; }
.fz-th-stat { font-size: 10.5px !important; color: var(--fz-muted) !important; }
.fz-th-stat b { font-size: 13.5px !important; font-weight: 600 !important; color: var(--fz-ink-2) !important; }
.fz-th-stat:nth-child(2) { opacity: .72; }
.fz-th-stat:nth-child(2) b { font-weight: 500 !important; color: var(--fz-muted) !important; }

/* последнее сообщение компактнее, аватар не доминирует */
td.fz-th-last { flex: 0 0 188px !important; padding-left: 12px !important; }
.fz-th-last-link { padding: 3px 5px !important; gap: 8px !important; }
.fz-th-last-ava { width: 26px !important; height: 26px !important; }
.fz-th-last-ava.noava::after { width: 12px; height: 12px; }
.fz-th-last-name { font-size: 12.5px !important; font-weight: 600 !important; }
.fz-th-last-date { font-size: 11px !important; }
.fz-th-last-arrow { font-size: 15px !important; }

/* верхняя графитовая панель раздела — легче */
table td.tcat[width="100%"], .fz-cat-card > .tcat, .tcat, td.tcat {
  padding: 7px 14px !important;
  font-size: 13.5px !important;
}
.tcat.fz-cat { padding: 9px 14px !important; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited {
  font-size: 15px !important;
}
td.vbmenu_control { padding: 7px 12px !important; font-size: 13px !important; }

/* разделитель «Обычные темы» — мягче */
tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky)::before {
  font-size: 10px !important;
  color: #a2a5aa !important;
  letter-spacing: .1em;
  font-weight: 600;
  top: -8px;
}

/* ---------- Страница темы ---------- */

/* карточка сообщения — меньше пустоты по вертикали */
td.fz-post-head { padding: 6px 14px !important; font-size: 12px !important; }
.fz-post-date { font-size: 12px !important; }

td.fz-author { width: 180px !important; min-width: 180px !important; max-width: 180px !important; padding: 12px !important; }
.fz-author-name { font-size: 14.5px !important; margin-bottom: 2px !important; }
.fz-author-title { font-size: 11.5px !important; margin-bottom: 1px !important; }
.fz-author-rank { font-size: 11px !important; margin-bottom: 4px !important; }
.fz-author-ava { margin: 8px auto !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub {
  width: 64px !important; height: 64px !important; font-size: 24px !important;
}
.fz-author-stats { margin-top: 6px !important; gap: 2px !important; font-size: 12px !important; }
.fz-author-stats .fz-stat span { font-size: 11.5px !important; }
.fz-stat-social { margin-top: 8px !important; }
.fz-author-gifts { margin-top: 8px !important; }

td.fz-msg { padding: 14px 24px 16px !important; }
.fz-msg-body { line-height: 1.58 !important; }
.fz-msg-body p:last-child { margin-bottom: 0; }

/* заголовок сообщения — деликатнее, не спорит с темой страницы */
.fz-msg-title {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--fz-muted) !important;
  margin-bottom: 8px !important;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(0,0,0,.04);
}

/* подпись — ещё легче */
.fz-msg-sig {
  margin-top: 18px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(0,0,0,.055) !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  color: #8b8e94 !important;
}
.fz-msg-sig a, .fz-msg-sig a:link, .fz-msg-sig a:visited { color: #5f87a8 !important; }
.fz-msg-sig a:hover { color: var(--fz-accent-dark) !important; }
.fz-msg-edited { margin-top: 10px !important; font-size: 11.5px !important; }

/* картинки в сообщении */
.fz-msg-body img, div[id^="post_message_"] img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  vertical-align: middle;
}
.fz-msg-body img.inlineimg, div[id^="post_message_"] img.inlineimg { border-radius: 0; }
.fz-msg-body a > img { margin: 4px 0; }

/* нижняя полоса действий ближе к тексту */
td.fz-post-foot-left, td.fz-post-foot-right { padding: 6px 14px !important; }

/* левая группа админских кнопок — собранной группой */
td.fz-post-foot-left {
  white-space: nowrap;
  font-size: 11.5px !important;
  vertical-align: middle !important;
}
td.fz-post-foot-left > a, td.fz-post-foot-left > span { margin-right: 6px !important; }
td.fz-post-foot-left .fzb {
  height: 24px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  border-radius: 6px !important;
}
td.fz-post-foot-left > * { margin: 0 !important; }
/* «IP» — такой же чип, как соседние кнопки */
td.fz-post-foot-left > a:not(.fzb):not(.fz-btn),
td.fz-post-foot-left > span:not(.fzb) {
  display: inline-flex; align-items: center;
  height: 24px; padding: 0 9px;
  border: 1px solid var(--fz-line);
  border-radius: 6px;
  background: var(--fz-surface);
  color: var(--fz-muted) !important;
  font-size: 11.5px;
  line-height: 1;
}
td.fz-post-foot-left > a:not(.fzb):hover { border-color: var(--fz-border); color: var(--fz-ink) !important; }

/* правая группа — та же логика, чуть ниже кнопки */
td.fz-post-foot-right .fzb, td.fz-post-foot-right .fz-btn,
td.fz-post-foot-right .fz-btn-ghost, td.fz-post-foot-right span.fzb {
  height: 30px !important;
}

/* двоеточие после бейджа «Важно» идёт отдельным текстовым узлом —
   прижимаем бейдж, чтобы не было «ВАЖНО :» с пробелом */
.fz-th-titleline > b { margin-right: 0 !important; }
.fz-th-titleline > b + a.fz-th-title, .fz-th-title { margin-left: 4px; }

/* панель опций темы: ссылки были прижаты вправо флоатами, слева зияла пустота —
   раскладываем их слева в одну строку и убираем лишнюю высоту */
div.tcat:has(> a#displaymodes),
div.tcat:has(> a#threadtools) {
  display: flex !important;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 6px 14px !important;
  min-height: 34px;
}
div.tcat:has(> a#displaymodes) > a,
div.tcat:has(> a#threadtools) > a { float: none !important; margin: 0 !important; }
div.tcat:has(> a#displaymodes) > script { display: none; }

/* полоса «Быстрый ответ» и подобные — тоже легче */
.fz-cat-card > div.tcat { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }

/* группа опций темы — слева, а не растянута по всей полосе */
div.tcat:has(> a#displaymodes), div.tcat:has(> a#threadtools) { justify-content: flex-start !important; }

/* колонка автора: ещё плотнее — короткие посты не должны быть высокими */
.fz-author-name { line-height: 1.25 !important; }
td.fz-author > font, td.fz-author > .fz-online { font-size: 11.5px !important; line-height: 1.3 !important; display: block; }
.fz-author-ava { margin: 7px auto 8px !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub {
  width: 56px !important; height: 56px !important; font-size: 21px !important;
}
.fz-author-stats { gap: 1px !important; font-size: 11.5px !important; line-height: 1.35 !important; }
.fz-author-stats .fz-stat { line-height: 1.35 !important; }
.fz-vk { padding: 2px 8px; font-size: 11px; }

/* полоса опций темы — ниже: гасим высоту старых gif-иконок внутри ссылок */
div.tcat:has(> a#displaymodes) { min-height: 32px !important; padding: 4px 14px !important; }
div.tcat:has(> a#displaymodes) > a { line-height: 1.2; display: inline-flex; align-items: center; }
div.tcat img[src*="menu_open"], div.tcat img[src*="menu_collapse"] { display: none !important; }

/* ==========================================================================
   Картинки в сообщениях: превью + просмотр во весь экран
   ========================================================================== */

/* превью не должно занимать всё сообщение */
.fz-msg-body img.fz-zoom,
.fz-msg-attach img.fz-zoom {
  max-width: min(100%, 520px) !important;
  max-height: 320px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 6px;
  border: 1px solid var(--fz-line);
  cursor: zoom-in;
  transition: border-color .15s, box-shadow .15s;
}
.fz-msg-body img.fz-zoom:hover,
.fz-msg-attach img.fz-zoom:hover {
  border-color: var(--fz-accent);
  box-shadow: 0 2px 10px rgba(35,38,42,.12);
}
/* ссылка-обёртка не должна добавлять подчёркивание под картинкой */
.fz-msg-body a:has(> img.fz-zoom) { display: inline-block; text-decoration: none !important; line-height: 0; }

/* окно просмотра */
.fz-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  background: rgba(20, 22, 26, .82);
  cursor: zoom-out;
}
.fz-lightbox.is-open { display: flex; }
.fz-lightbox__box {
  margin: 0;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.fz-lightbox__img {
  max-width: 100%;
  max-height: calc(100vh - 120px);
  border-radius: 8px;
  background: var(--fz-surface);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  cursor: default;
}
.fz-lightbox__foot { display: flex; gap: 14px; align-items: center; }
.fz-lightbox__orig,
.fz-lightbox__orig:link,
.fz-lightbox__orig:visited {
  color: rgba(255,255,255,.78) !important;
  font-size: 13px;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,.28);
  cursor: pointer;
}
.fz-lightbox__orig:hover { color: #fff !important; border-bottom-color: var(--fz-accent); }
.fz-lightbox__close {
  position: absolute;
  top: 14px; right: 18px;
  width: 40px; height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: background .15s;
}
.fz-lightbox__close:hover { background: rgba(255,255,255,.22); }

/* пока окно открыто, страница под ним не прокручивается */
html.fz-lightbox-lock { overflow: hidden; }

@media (max-width: 760px) {
  .fz-msg-body img.fz-zoom, .fz-msg-attach img.fz-zoom { max-height: 240px !important; }
  .fz-lightbox { padding: 16px 12px; }
  .fz-lightbox__img { max-height: calc(100vh - 100px); }
}

/* картинка в подписи не должна спорить с сообщением */
.fz-msg-sig img {
  max-width: min(100%, 420px) !important;
  max-height: 110px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 5px;
  opacity: .92;
}

/* ---------- Чат: ползунок высоты ---------- */
.fz-chat-card { position: relative; }
.fz-chat-frame { display: block; width: 100%; height: 250px; border: 0; background: #fff; }

.fz-chat-resizer {
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fz-soft);
  border-top: 1px solid var(--fz-line);
  cursor: ns-resize;
  user-select: none;
  touch-action: none;
  transition: background .15s;
}
.fz-chat-resizer::after {
  content: "";
  width: 38px;
  height: 3px;
  border-radius: 2px;
  background: #c9c7c2;
  transition: background .15s, width .15s;
}
.fz-chat-resizer:hover { background: #f2f0ec; }
.fz-chat-resizer:hover::after { background: var(--fz-accent); width: 52px; }
.fz-chat-resizer:focus-visible { outline: 2px solid var(--fz-accent); outline-offset: -2px; }

/* пока тянем — не даём выделять текст и подсвечиваем карточку */
.fz-chat-card.is-resizing { user-select: none; }
.fz-chat-card.is-resizing .fz-chat-resizer { background: #f2f0ec; }
.fz-chat-card.is-resizing .fz-chat-resizer::after { background: var(--fz-accent); width: 52px; }

/* ==========================================================================
   ПОЛИРОВКА 2 — финальный проход.
   Меняются только интервалы, вес второстепенного текста и порядок пунктов.
   Палитра, ширина контейнера, радиусы и структура карточек прежние.
   ========================================================================== */

/* ---------- 3. Меньше воздуха между навигацией и содержимым ----------
   Ведущий <br /> в шаблоне navbar убран патчем polish2. */
.fz-crumb { margin-top: 18px !important; margin-bottom: 12px !important; }

/* ---------- 11. Крошки: разделитель перед последним элементом ---------- */
.fz-crumb .fz-crumb-last { color: var(--fz-ink) !important; font-weight: 600 !important; }

/* ---------- 4. «Форум» над чатом — небольшой заголовок страницы ----------
   Срабатывает только там, где в крошках нет других звеньев. */
.fz-crumb:has(> .fz-crumb-home:only-child) { margin-top: 16px !important; margin-bottom: 10px !important; }
.fz-crumb:has(> .fz-crumb-home:only-child) .fz-crumb-home,
.fz-crumb:has(> .fz-crumb-home:only-child) .fz-crumb-home:link,
.fz-crumb:has(> .fz-crumb-home:only-child) .fz-crumb-home:visited {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em;
  color: var(--fz-ink) !important;
}
.fz-crumb:has(> .fz-crumb-home:only-child) .fz-crumb-home:hover { color: var(--fz-ink) !important; }

/* ---------- 6. Раздел: блок подразделов компактнее по вертикали ----------
   #threadslist есть только на странице раздела — главную не трогаем. */
body:has(#threadslist) tr.fz-forumrow {
  min-height: 0 !important;
  padding: 11px 18px !important;
  gap: 14px !important;
}
body:has(#threadslist) td.fz-fcell-icon img,
body:has(#threadslist) td.fz-fcell-icon img.fz-ficon {
  width: 36px !important; height: 36px !important; padding: 6px !important;
}
body:has(#threadslist) .fz-ftitle a { font-size: 15.5px !important; }
body:has(#threadslist) .fz-fdesc { font-size: 12.5px !important; margin-top: 2px !important; line-height: 1.45 !important; }
body:has(#threadslist) .fz-fsubforums { margin-top: 6px !important; }
body:has(#threadslist) td.fz-fcell-last { padding-top: 0 !important; padding-bottom: 0 !important; }
body:has(#threadslist) td.fz-fcell-last .smallfont > div:first-child { font-size: 12.5px !important; }
body:has(#threadslist) td.fz-fcell-num { font-size: 14px !important; }

/* ---------- 7. Раздел: меньше отступ до «Новая тема» и пагинации ---------- */
body:has(#threadslist) table.tborder:has(tr.fz-forumrow) + br { display: none !important; }
body:has(#threadslist) table.tborder:has(tr.fz-forumrow) { margin-bottom: 20px !important; }

/* ---------- 9. Деликатная подсветка всей строки, без «кнопочности» ---------- */
tr.fz-threadrow:hover { background: #faf9f7 !important; }
tr.fz-sticky:hover { background: #fdfaf3 !important; }
tr.fz-forumrow:hover { background: #faf9f7 !important; }
.fz-th-last-link:hover { background: transparent !important; }

/* ---------- 12. Спокойный заголовок темы ---------- */
h1.fz-page-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-family: var(--fz-font) !important;
  font-size: 23px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em;
  color: var(--fz-ink) !important;
}

/* ---------- 14. Порядок пунктов графитовой полосы ----------
   Опции темы → Поиск в этой теме → Оценить тему → Опции просмотра → Модерация.
   Отрицательные order, чтобы безымянные текстовые узлы остались в конце. */
div.tcat > a#threadtools { order: -5 !important; }
div.tcat > a#threadsearch { order: -4 !important; }
div.tcat > span.fzstars { order: -3 !important; }
div.tcat > a#threadrating { order: -3 !important; }
div.tcat > a#displaymodes { order: -2 !important; }
div.tcat > a#imod,
div.tcat > div:has(> #checkall_all) { order: -1 !important; }

/* ---------- 16. Колонка автора отделена мягче ---------- */
td.fz-author {
  background: var(--fz-soft) !important;
  border-right: 1px solid #f0efec !important;
}

/* ---------- 17. Статус «вне форума» / «невидим» — тише ника ---------- */
.fz-online {
  display: block;
  margin: 1px 0 4px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: #9a9da2 !important;
}
.fz-online-on { color: var(--fz-success) !important; }
.fz-online strong, .fz-online font { color: inherit !important; font-weight: 500 !important; }

/* ---------- 19. Комфортная длина строки на широких экранах ---------- */
.fz-msg-body { max-width: 1020px !important; }
.fz-msg-body table, .fz-msg-body pre, .fz-msg-body .bbcode_container { max-width: 100% !important; }

/* ---------- 20. Подпись: ровные отступы, картинка не крупнее превью ---------- */
.fz-msg-sig img { margin-top: 4px; }

/* ---------- Узкие экраны: шапка колонок подразделов ломала таблицу ----------
   Строки на мобильных складываются в карточки, подписи колонок уже не совпадают
   с содержимым и распирают таблицу по ширине. */
@media (max-width: 760px) {
  /* таблица подразделов на странице раздела не обёрнута в .fz-cat-card,
     поэтому попадала под общее правило display:block + overflow-x:auto
     и разъезжалась колонками вместо карточек */
  table.tborder:has(tr.fz-forumrow),
  table.tborder:has(tr.fz-threadrow) {
    display: table !important;
    overflow: visible !important;
    width: 100% !important;
  }
}

/* шапка колонок таблицы подразделов: строки-карточки подписывают себя сами
   (так же, как на главной, где tr.fz-colhead скрыт) */
table.tborder:has(tr.fz-forumrow) > thead,
table.tborder:has(tr.fz-threadrow) > thead { display: none !important; }


/* ==========================================================================
   HTML-сообщения: цитата, код, спойлер, выравнивание, вложения
   ========================================================================== */

.fz-msg-body blockquote.fz-quote,
div[id^="post_message_"] blockquote.fz-quote {
  margin: 12px 0 !important;
  padding: 10px 16px !important;
  background: var(--fz-card-soft) !important;
  border: 1px solid var(--fz-line) !important;
  border-left: 3px solid var(--fz-accent) !important;
  border-radius: var(--fz-radius-sm) !important;
  color: var(--fz-ink-2) !important;
  font-size: 15px !important;
}
blockquote.fz-quote > p:first-child { margin-top: 0 !important; }
blockquote.fz-quote > p:last-child { margin-bottom: 0 !important; }
blockquote.fz-quote[data-author]::before {
  content: attr(data-author) " писал(а):";
  display: block;
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fz-muted);
}
blockquote.fz-quote blockquote.fz-quote { background: var(--fz-surface) !important; }

pre.fz-code {
  margin: 12px 0 !important;
  padding: 12px 14px !important;
  background: var(--fz-soft-2) !important;
  border: 1px solid var(--fz-line) !important;
  border-radius: var(--fz-radius-sm) !important;
  font-family: var(--fz-mono) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--fz-ink) !important;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}

details.fz-spoiler {
  margin: 12px 0;
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  background: var(--fz-soft);
  overflow: hidden;
}
details.fz-spoiler > summary {
  padding: 8px 14px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--fz-ink-2);
  user-select: none;
  transition: background .15s, color .15s;
}
details.fz-spoiler > summary::-webkit-details-marker { display: none; }
details.fz-spoiler > summary::before {
  content: "▸";
  display: inline-block;
  margin-right: 8px;
  color: var(--fz-accent);
  transition: transform .15s;
}
details.fz-spoiler[open] > summary::before { transform: rotate(90deg); }
details.fz-spoiler > summary:hover { background: #f2f0ec; color: var(--fz-ink); }
.fz-spoiler-body { padding: 4px 14px 12px; background: var(--fz-surface); }
.fz-spoiler-body > p:first-child { margin-top: 0; }
.fz-spoiler-body > p:last-child { margin-bottom: 0; }

.fz-align-left { text-align: left; }
.fz-align-center { text-align: center; }
.fz-align-right { text-align: right; }
.fz-align-justify { text-align: justify; }

a.fz-attach { font-weight: 600; }
a.fz-video::before { content: "▶ "; color: var(--fz-accent); }

.fz-msg-body p { margin: 0 0 12px; }
.fz-msg-body p:last-child { margin-bottom: 0; }
.fz-msg-body hr { border: 0; border-top: 1px solid var(--fz-line); margin: 16px 0; }

/* ==========================================================================
   Редактор сообщений (TipTap)
   ========================================================================== */

.fz-ed {
  position: relative;
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  background: var(--fz-surface);
  overflow: visible;
  box-sizing: border-box;
}
.fz-ed:focus-within { border-color: #c9c7c2; }

.fz-ed-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1px;
  padding: 6px 8px;
  background: var(--fz-soft);
  border-bottom: 1px solid var(--fz-line);
  border-radius: var(--fz-radius) var(--fz-radius) 0 0;
}
.fz-ed-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--fz-ink-2);
  cursor: pointer;
  transition: background .12s, color .12s;
}
.fz-ed-btn:hover { background: #ecebe7; color: var(--fz-ink); }
.fz-ed-btn.is-on { background: var(--fz-accent-soft); color: var(--fz-accent-dark); }
.fz-ed-btn:focus-visible { outline: 2px solid var(--fz-accent); outline-offset: -2px; }
.fz-ed-sep { width: 1px; height: 18px; margin: 0 5px; background: var(--fz-line-2); }

.fz-ed-area { padding: 0; }
.fz-ed .ProseMirror {
  min-height: 190px;
  padding: 14px 16px;
  outline: none;
  font-family: var(--fz-font);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--fz-ink);
  overflow-wrap: anywhere;
}
.fz-ed .ProseMirror p { margin: 0 0 10px; }
.fz-ed .ProseMirror p:last-child { margin-bottom: 0; }
.fz-ed .ProseMirror > p.is-editor-empty:first-child::before {
  content: "Напишите сообщение…";
  float: left;
  height: 0;
  color: #a8abb0;
  pointer-events: none;
}
.fz-ed .ProseMirror img { max-width: min(100%, 520px); height: auto; border-radius: 6px; }
.fz-ed .ProseMirror img.ProseMirror-selectednode { outline: 2px solid var(--fz-accent); }
.fz-ed .ProseMirror blockquote.fz-quote {
  margin: 10px 0; padding: 8px 14px;
  background: var(--fz-card-soft);
  border: 1px solid var(--fz-line);
  border-left: 3px solid var(--fz-accent);
  border-radius: var(--fz-radius-sm);
}
.fz-ed .ProseMirror blockquote.fz-quote[data-author]::before {
  content: attr(data-author) " писал(а):";
  display: block; margin-bottom: 4px;
  font-size: 12px; font-weight: 600; color: var(--fz-muted);
}
.fz-ed .ProseMirror pre {
  margin: 10px 0; padding: 10px 12px;
  background: var(--fz-soft-2);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  font-family: var(--fz-mono); font-size: 13px;
  white-space: pre-wrap;
}
.fz-ed .ProseMirror details.fz-spoiler {
  margin: 10px 0;
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius-sm);
  background: var(--fz-soft);
}
.fz-ed .ProseMirror details.fz-spoiler > summary {
  padding: 6px 12px; font-size: 12.5px; font-weight: 600;
  color: var(--fz-muted); cursor: default; list-style: none;
}
.fz-ed .ProseMirror details.fz-spoiler > summary::-webkit-details-marker { display: none; }
.fz-ed .ProseMirror .fz-spoiler-body { padding: 2px 12px 8px; background: var(--fz-surface); }
.fz-ed .ProseMirror ul, .fz-ed .ProseMirror ol { margin: 8px 0 8px 22px; }
.fz-ed .ProseMirror hr { border: 0; border-top: 1px solid var(--fz-line-2); margin: 14px 0; }
.fz-ed .ProseMirror a { color: var(--fz-link); }

/* всплывающие палитры */
.fz-ed-pop {
  position: absolute;
  z-index: 60;
  min-width: 176px;
  padding: 10px;
  background: var(--fz-surface);
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius-sm);
  box-shadow: 0 6px 20px rgba(35,38,42,.14);
}
.fz-ed-pop-title { margin-bottom: 8px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--fz-muted); }
.fz-ed-swatches { display: grid; grid-template-columns: repeat(6, 22px); gap: 6px; }
.fz-ed-sw { width: 22px; height: 22px; border: 1px solid var(--fz-line-2); border-radius: 5px; cursor: pointer; padding: 0; }
.fz-ed-sw:hover { outline: 2px solid var(--fz-accent); outline-offset: 1px; }
.fz-ed-pop-btn {
  display: block; width: 100%; margin-top: 6px; padding: 5px 8px;
  border: 1px solid var(--fz-line); border-radius: 6px;
  background: var(--fz-surface); color: var(--fz-ink-2);
  font-family: var(--fz-font); text-align: left; cursor: pointer;
}
.fz-ed-pop-btn:hover { background: var(--fz-soft); color: var(--fz-ink); }
.fz-ed-smilies { display: grid; grid-template-columns: repeat(6, 28px); gap: 4px; max-height: 190px; overflow-y: auto; }
.fz-ed-sm { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 5px; background: none; cursor: pointer; }
.fz-ed-sm:hover { background: var(--fz-soft); }
.fz-ed-sm img { max-width: 20px; max-height: 20px; }

@media (max-width: 760px) {
  .fz-ed-bar { padding: 5px 6px; }
  .fz-ed-btn { width: 28px; height: 28px; }
  .fz-ed .ProseMirror { min-height: 150px; padding: 12px; font-size: 15px; }
}

/* старые панели редактора vBulletin больше не нужны */
div.controlbar[id$="_controls"],
div[id$="_controls"].controlbar { display: none !important; }
.fz-ed-host { margin: 0; }
.fz-ed-btn svg { width: 17px; height: 17px; display: block; flex: 0 0 auto; }

/* остатки оформления старого редактора вокруг нового поля */
td.vBulletin_editor {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.fz-ed-host { width: 100%; }
#collapseobj_quickreply div.panel > table { width: 100% !important; }
#collapseobj_quickreply td.smallfont,
#collapseobj_quickreply td.vBulletin_editor { display: block; width: 100% !important; }

/* формы ответа и правки на телефоне: поле во всю ширину, без горизонтальной прокрутки */
@media (max-width: 760px) {
  td.vBulletin_editor,
  .fz-ed-host,
  .fz-ed {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  div.panel > table,
  td.panelsurround > div.panel > table,
  form > table,
  table.tborder td > table:not(.pagenav) { width: 100% !important; max-width: 100% !important; }
  .fz-ed-bar { overflow-x: auto; flex-wrap: wrap; }
  .fz-ed .ProseMirror { min-height: 160px; }
}
@media (max-width: 760px) {
  /* формы ответа/правки задают ширину в пикселях через stylevar formwidth */
  td.panelsurround div.panel > div[style*="width"] { width: auto !important; max-width: 100% !important; }
  td.panelsurround, div.panel { max-width: 100%; box-sizing: border-box; }
}

/* ==========================================================================
   Иконки разделов: те же сюжеты, что были на форуме исходно, но одним
   набором — векторные, в общей плитке. Прочитанный раздел графитовый,
   раздел с новыми сообщениями — оранжевый.
   Растровая картинка остаётся в разметке (её адрес выбирает значок),
   но не показывается.
   ========================================================================== */

td.fz-fcell-icon {
  position: relative !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 11px !important;
  box-sizing: border-box !important;
  align-self: flex-start !important;
  overflow: hidden;

  --fz-icon-size: 23px;
  --fz-icon-color: #5d6168;
  /* значок по умолчанию — облачко сообщений */
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16a1.6 1.6 0 0 1 1.6 1.6v8.3A1.6 1.6 0 0 1 20 16.5h-8.2L6.6 20.4v-3.9H4a1.6 1.6 0 0 1-1.6-1.6V6.6A1.6 1.6 0 0 1 4 5z'/></svg>");
}

td.fz-fcell-icon img,
td.fz-fcell-icon img.fz-ficon {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  opacity: 0 !important;
  content: normal !important;
  transform: none !important;
  filter: none !important;
}

/* подложка плитки: рисуем слоем, потому что фон самой ячейки
   перебивают общие правила таблиц (table.tborder > tbody > tr > td.alt2) */
td.fz-fcell-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #f4f2ed;
  border: 1px solid #e6e3dc;
  border-radius: 11px;
  box-sizing: border-box;
  transition: border-color .15s ease, background .15s ease;
  pointer-events: none;
}

td.fz-fcell-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--fz-icon-color);
  -webkit-mask: var(--fz-icon) center / var(--fz-icon-size) var(--fz-icon-size) no-repeat;
          mask: var(--fz-icon) center / var(--fz-icon-size) var(--fz-icon-size) no-repeat;
  transition: background-color .15s ease, transform .15s ease;
  pointer-events: none;
}

/* прочитано — спокойный графит, есть новое — акцент */
td.fz-fcell-icon { --fz-icon-color: #5d6168; }
td.fz-fcell-icon:has(img[src*="_forum_new"]),
td.fz-fcell-icon:has(img[src$="forum_new.gif"]) { --fz-icon-color: var(--fz-accent); }

tr.fz-forumrow:hover td.fz-fcell-icon::after { transform: scale(1.06); }
tr.fz-forumrow:hover td.fz-fcell-icon::before { border-color: #d8d4cb; background: #efece5; }

/* ---- сюжеты по разделам ---- */

/* 1A — новости */
td.fz-fcell-icon:has(img[src*="1a_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h11v14H4z'/><path d='M15 8h4a1 1 0 0 1 1 1v8a2 2 0 0 1-2 2h-3'/><path d='M7 8.5h5M7 11.5h5M7 14.5h5'/></svg>");
}

/* Сайт и Форум — монитор */
td.fz-fcell-icon:has(img[src*="sf_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='4' width='19' height='12' rx='2'/><path d='M8 20h8M12 16v4'/></svg>");
}

/* Игровой сервер JA — световой меч */
td.fz-fcell-icon:has(img[src*="jamp_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2.5v10.5'/><rect x='9.8' y='13' width='4.4' height='8.2' rx='1.3'/><path d='M9.8 16h4.4'/></svg>");
}

/* Орден Джедаев — крыло-эмблема */
td.fz-fcell-icon:has(img[src*="republic_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2.6c2.4 2.9 3.4 5.8 3.4 8.7 0 3.3-1.1 6.2-3.4 8.9-2.3-2.7-3.4-5.6-3.4-8.9 0-2.9 1-5.8 3.4-8.7z'/><path d='M8.6 12.4H5.2M18.8 12.4h-3.4'/><circle cx='12' cy='10.6' r='1.5'/></svg>");
}

/* Орден Ситхов — имперская шестерня */
td.fz-fcell-icon:has(img[src*="empire_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.6'/><path d='M12 3.4v17.2M4.6 7.7l14.8 8.6M4.6 16.3l14.8-8.6'/><circle cx='12' cy='12' r='3.1'/></svg>");
}

/* Вселенная Звёздных Войн — планета */
td.fz-fcell-icon:has(img[src*="vselen_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.6'/><circle cx='15.2' cy='8.4' r='2.6'/><path d='M3.7 13.4h16.6'/></svg>");
}

/* База знаний — книга */
td.fz-fcell-icon:has(img[src*="book_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3.6 4.8h5.6a2.8 2.8 0 0 1 2.8 2 2.8 2.8 0 0 1 2.8-2h5.6v12.6h-5.6a2.8 2.8 0 0 0-2.8 2 2.8 2.8 0 0 0-2.8-2H3.6z'/><path d='M12 6.8v12.6'/></svg>");
}

/* Аниме — экран с кнопкой воспроизведения */
td.fz-fcell-icon:has(img[src*="anime_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='7' width='19' height='13' rx='2.5'/><path d='m8 3 4 4 4-4'/><path d='M10 11.5v4l4-2z'/></svg>");
}

/* Флейм — реплика */
td.fz-fcell-icon:has(img[src*="flame_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9 9 0 0 1-3.6-.8L3 21l1.9-4.8A8.4 8.4 0 0 1 12 3.1a8.4 8.4 0 0 1 9 8.4z'/></svg>");
}

/* Игры — геймпад */
td.fz-fcell-icon:has(img[src*="game_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='7' width='20' height='11' rx='4.5'/><path d='M7 10.5v3M5.5 12h3M16.5 11h.01M18.5 13.5h.01'/></svg>");
}

/* Центр помощи — спасательный круг */
td.fz-fcell-icon:has(img[src*="help_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='12' cy='12' r='3.6'/><path d='m5.6 5.6 3.9 3.9M14.5 14.5l3.9 3.9M18.4 5.6l-3.9 3.9M9.5 14.5l-3.9 3.9'/></svg>");
}

/* Юмор — улыбка */
td.fz-fcell-icon:has(img[src*="humor_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 14s1.5 2 4 2 4-2 4-2'/><path d='M9 9.5h.01M15 9.5h.01'/></svg>");
}

/* Приемная комиссия — заявление */
td.fz-fcell-icon:has(img[src*="join_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/><path d='M14 3v5h5'/><path d='M9 13h6M9 16.5h6'/></svg>");
}

/* Сходки — кружка */
td.fz-fcell-icon:has(img[src*="meet_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 8h12v6a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5z'/><path d='M16 9.5h1.5a2.5 2.5 0 0 1 0 5H16'/><path d='M7 3v2M11 3v2'/></svg>");
}

/* Музыка — ноты */
td.fz-fcell-icon:has(img[src*="music_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M9 17V5l11-2v12'/><circle cx='6' cy='17' r='3'/><circle cx='17' cy='15' r='3'/></svg>");
}

/* Приватный раздел — замок */
td.fz-fcell-icon:has(img[src*="private_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.5'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/><path d='M12 14.5v2'/></svg>");
}

/* Soft/Hard/IT — шестерёнка */
td.fz-fcell-icon:has(img[src*="soft_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3.2'/><path d='M12 2.5v3M12 18.5v3M21.5 12h-3M5.5 12h-3M18.7 5.3l-2.1 2.1M7.4 16.6l-2.1 2.1M18.7 18.7l-2.1-2.1M7.4 7.4 5.3 5.3'/></svg>");
}

/* Театральный кружок — плёнка */
td.fz-fcell-icon:has(img[src*="video_forum_"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='4' width='19' height='16' rx='2'/><path d='M7 4v16M17 4v16M2.5 12h19M2.5 8h4.5M2.5 16h4.5M17 8h4.5M17 16h4.5'/></svg>");
}

/* закрытый раздел — замок поверх общего значка */
td.fz-fcell-icon:has(img[src*="forum_old_lock"]),
td.fz-fcell-icon:has(img[src*="forum_new_lock"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.5'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>");
  --fz-icon-color: #9a9da2;
}

/* раздел-ссылка */
td.fz-fcell-icon:has(img[src*="forum_link"]) {
  --fz-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a4 4 0 0 0 5.7.4l2.6-2.6a4 4 0 0 0-5.7-5.7l-1.3 1.3M14 11a4 4 0 0 0-5.7-.4l-2.6 2.6a4 4 0 0 0 5.7 5.7l1.3-1.3'/></svg>");
}

/* на узких экранах плитка меньше */
@media (max-width: 760px) {
  td.fz-fcell-icon { flex: 0 0 38px !important; width: 38px !important; height: 38px !important; }
  td.fz-fcell-icon { --fz-icon-size: 20px; }
  td.fz-fcell-icon img, td.fz-fcell-icon img.fz-ficon { width: 36px !important; height: 36px !important; }
}


/* ==========================================================================
   «Статистика Top 5» — как на старом форуме: под общей шапкой три колонки,
   два узких рейтинга и широкая лента последних сообщений.
   ========================================================================== */

.fz-top5 { margin: 0 0 22px !important; }

.fz-top5-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-top: 0;
  border-radius: 0 0 var(--fz-radius) var(--fz-radius);
  overflow: hidden;
}

.fz-top5-col { min-width: 0; }
.fz-top5-col + .fz-top5-col { border-left: 1px solid var(--fz-line); }

.fz-top5-sub {
  display: block;
  background: var(--fz-soft) !important;
  border-bottom: 1px solid var(--fz-line) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fz-top5-rows { display: block; }

.fz-top5-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  font-size: 13px;
  color: var(--fz-ink-2);
  border-top: 1px solid var(--fz-line);
  transition: background .12s;
}
.fz-top5-row:first-child { border-top: 0; }
.fz-top5-row:hover { background: var(--fz-soft); }

/* номер в рейтинге */
.fz-top5-row .fz-c-n {
  flex: 0 0 20px;
  width: 20px;
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--fz-muted);
}
.fz-top5-row:first-child .fz-c-n { color: var(--fz-accent); }

/* название темы или раздела */
.fz-top5-row .fz-c-t {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fz-top5-row .fz-c-t a {
  color: var(--fz-link) !important;
  text-decoration: none;
  font-weight: 600;
}
.fz-top5-row .fz-c-t a:hover { color: var(--fz-accent-dark) !important; }

/* число сообщений в рейтингах */
.fz-top5-row .fz-c-v {
  flex: 0 0 auto;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--fz-ink-2);
}
.fz-top5-row .fz-c-v a { color: var(--fz-ink-2) !important; text-decoration: none; }
.fz-top5-row .fz-c-v a:hover { color: var(--fz-accent-dark) !important; }

/* ---- лента последних сообщений ---- */

.fz-top5-wide .fz-top5-row { gap: 12px; }

.fz-lp-row .fz-c-vr {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: var(--fz-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.fz-lp-row .fz-c-vr i {
  font-style: normal;
  padding-right: 7px;
  border-right: 1px dashed var(--fz-border);
}
.fz-lp-row .fz-c-vr b { font-weight: 600; padding-left: 7px; }

.fz-lp-row .fz-c-u {
  flex: 0 0 auto;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12.5px;
}
.fz-lp-row .fz-c-u a { color: var(--fz-link) !important; text-decoration: none; font-weight: 600; }
.fz-lp-row .fz-c-u a:hover { color: var(--fz-accent-dark) !important; }
.fz-lp-row a.fz-c-go {
  color: var(--fz-muted) !important;
  font-weight: 700;
  padding-left: 5px;
}
.fz-lp-row a.fz-c-go:hover { color: var(--fz-accent) !important; }

.fz-lp-row .fz-c-d {
  flex: 0 0 auto;
  font-size: 12px;
  color: var(--fz-muted);
  white-space: nowrap;
}

.fz-lp-row .fz-c-f {
  flex: 0 0 130px;
  width: 130px;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.fz-lp-row .fz-c-f a { color: var(--fz-muted) !important; text-decoration: none; }
.fz-lp-row .fz-c-f a:hover { color: var(--fz-accent-dark) !important; }

@media (max-width: 1100px) {
  .fz-lp-row .fz-c-f { display: none; }
}

@media (max-width: 980px) {
  .fz-top5-grid { grid-template-columns: 1fr 1fr; }
  .fz-top5-wide { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--fz-line); }
  .fz-lp-row .fz-c-f { display: block; }
}

@media (max-width: 760px) {
  .fz-top5-grid { grid-template-columns: 1fr; }
  .fz-top5-col + .fz-top5-col { border-left: 0; border-top: 1px solid var(--fz-line); }
  .fz-top5-wide { border-top: 1px solid var(--fz-line); }

  .fz-lp-row { flex-wrap: wrap; row-gap: 3px; }
  .fz-lp-row .fz-c-t { flex: 1 1 100%; white-space: normal; }
  .fz-lp-row .fz-c-f { flex: 1 1 auto; width: auto; text-align: left; }
  .fz-lp-row .fz-c-u { max-width: none; }
}

/* ==========================================================================
   Страницы «Новая тема», «Ответить в теме» и «Правка сообщения».
   Никаких bb-кодов, иконок сообщений и предпросмотра — только поле
   заголовка, редактор и то, что действительно нужно.
   ========================================================================== */

.fz-pf { display: block; }

.fz-pf-card { margin: 0 0 18px !important; }

/* контекст (тема или раздел) справа в тёмной шапке */
.tcat.fz-cat .fz-pf-context,
.tcat.fz-cat .fz-pf-context a,
.tcat.fz-cat .fz-pf-context a:link,
.tcat.fz-cat .fz-pf-context a:visited {
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important; font-weight: 500 !important;
  text-decoration: none !important;
  padding: 0 !important; line-height: inherit !important;
}
.tcat.fz-cat .fz-pf-context {
  flex: 0 1 auto; min-width: 0; max-width: 60%;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tcat.fz-cat .fz-pf-context a:hover { color: var(--fz-accent) !important; }

.fz-pf-body {
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-top: 0;
  padding: 18px 20px 6px;
}
.fz-pf-card .fz-pf-body + .fz-pf-actions { border-top: 1px solid var(--fz-line); }

.fz-pf-who {
  float: right;
  font-size: 12.5px;
  color: var(--fz-muted);
  margin: -4px 0 6px;
}
.fz-pf-who a { color: var(--fz-link) !important; text-decoration: none; font-weight: 600; }

.fz-pf-field { margin: 0 0 16px; clear: both; }

.fz-pf-label {
  display: block;
  margin: 0 0 6px;
  font-size: 12px; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase;
  color: var(--fz-muted);
}
.fz-pf-hint {
  font-weight: 400; letter-spacing: 0; text-transform: none;
  color: var(--fz-muted); opacity: .8; font-size: 12px; margin-left: 6px;
}
.fz-pf-hintlink { font-weight: 600; letter-spacing: 0; text-transform: none; margin-left: 8px; }

input.fz-pf-input,
select.fz-pf-select {
  box-sizing: border-box;
  width: 100%;
  padding: 9px 12px !important;
  font-family: inherit; font-size: 14px !important;
  color: var(--fz-ink) !important;
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  border-radius: var(--fz-radius-sm) !important;
  transition: border-color .15s, box-shadow .15s;
}
input.fz-pf-input:focus,
select.fz-pf-select:focus {
  outline: none;
  border-color: var(--fz-accent) !important;
  box-shadow: 0 0 0 3px var(--fz-accent-soft);
}
input.fz-pf-input-num { width: 110px; flex: 0 0 110px; }

.fz-pf-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.fz-pf-row > select.fz-pf-select { flex: 0 1 220px; width: auto; }
.fz-pf-row > input.fz-pf-input { flex: 1 1 220px; width: auto; }
.fz-pf-field > select.fz-pf-select { max-width: 340px; }
.fz-pf-row-inline { margin-top: 8px; }
.fz-pf-inline { font-size: 13.5px; color: var(--fz-ink-2); }

/* редактор занимает всю ширину карточки */
.fz-pf-field-editor { margin-bottom: 14px; }
.fz-pf-field-editor .fz-ed,
.fz-pf-field-editor .fz-ed-host,
.fz-pf-field-editor td.vBulletin_editor,
.fz-pf-field-editor table { width: 100% !important; max-width: 100% !important; }
.fz-pf-field-editor td.vBulletin_editor { display: block; }
.fz-pf-field-editor .fz-ed .ProseMirror { min-height: 230px; }

/* чекбоксы и радио */
label.fz-pf-check {
  display: flex; align-items: center; gap: 9px;
  padding: 6px 0;
  font-size: 13.5px; color: var(--fz-ink-2);
  cursor: pointer;
}
label.fz-pf-check input { margin: 0; flex: 0 0 auto; }
label.fz-pf-check-sub { padding-left: 26px; }

.fz-pf-note {
  font-size: 12.5px;
  color: var(--fz-muted);
  margin: 0 0 10px;
  line-height: 1.5;
}

.fz-pf-attachlist { margin: 6px 0 10px; font-size: 13px; }
.fz-pf-attachlist:empty { margin: 0; }

/* нижняя панель с кнопками */
.fz-pf-actions {
  display: flex; align-items: center; gap: 14px;
  background: var(--fz-soft);
  border: 1px solid var(--fz-line);
  border-top: 0;
  border-radius: 0 0 var(--fz-radius) var(--fz-radius);
  padding: 14px 20px;
}
input.fz-pf-submit {
  background: var(--fz-accent) !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 26px !important;
  border-radius: var(--fz-radius-sm) !important;
  cursor: pointer;
}
input.fz-pf-submit:hover { background: var(--fz-accent-dark) !important; }

a.fz-pf-cancel, a.fz-pf-cancel:link, a.fz-pf-cancel:visited,
a.fz-pf-more, a.fz-pf-more:link, a.fz-pf-more:visited {
  font-size: 13.5px; font-weight: 600;
  color: var(--fz-muted) !important;
  text-decoration: none !important;
}
a.fz-pf-cancel:hover, a.fz-pf-more:hover { color: var(--fz-accent-dark) !important; }
a.fz-pf-more { margin-left: auto; }

.button.fz-pf-ghost, a.fz-pf-ghost {
  display: inline-block;
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-border) !important;
  color: var(--fz-ink-2) !important;
  font-size: 13px !important; font-weight: 600 !important;
  padding: 8px 16px !important;
  border-radius: var(--fz-radius-sm) !important;
  text-decoration: none !important;
  cursor: pointer;
}
.button.fz-pf-ghost:hover, a.fz-pf-ghost:hover { border-color: var(--fz-accent) !important; color: var(--fz-accent-dark) !important; }

/* блок удаления сообщения */
.fz-pf-danger .fz-pf-note { color: var(--fz-danger); }
input.fz-pf-danger-btn {
  background: var(--fz-danger) !important;
  border: 0 !important; color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border-radius: var(--fz-radius-sm) !important;
  cursor: pointer;
}
input.fz-pf-danger-btn:hover { filter: brightness(.92); }

/* просмотр темы под формой ответа */
.fz-pf-review table.tborder { margin-top: 0 !important; }

/* ---------- «Ваши права в разделе» ---------- */

.fz-rules { max-width: 420px; margin: 0 0 22px !important; }
.fz-rules-body {
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-top: 0;
  border-radius: 0 0 var(--fz-radius) var(--fz-radius);
  padding: 14px 18px;
}
.fz-rules-list { list-style: none; margin: 0; padding: 0; }
.fz-rules-list li {
  position: relative;
  padding: 3px 0 3px 22px;
  font-size: 13px;
  color: var(--fz-ink-2);
}
.fz-rules-list li::before {
  content: "";
  position: absolute; left: 0; top: 8px;
  width: 12px; height: 12px;
  background-color: var(--fz-success);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12.5l5.5 5.5L20 6.5'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12.5l5.5 5.5L20 6.5'/></svg>") center / contain no-repeat;
}
.fz-rules-list li.fz-no { color: var(--fz-muted); }
.fz-rules-list li.fz-no::before {
  background-color: #c9ccd1;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>") center / contain no-repeat;
}
.fz-rules-links {
  display: flex; gap: 16px;
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid var(--fz-line);
}
.fz-rules-links a, .fz-rules-links a:link, .fz-rules-links a:visited {
  font-size: 12.5px; font-weight: 600;
  color: var(--fz-link) !important; text-decoration: none;
}
.fz-rules-links a:hover { color: var(--fz-accent-dark) !important; }

@media (max-width: 760px) {
  .fz-pf-body { padding: 14px 14px 4px; }
  .fz-pf-actions { padding: 12px 14px; flex-wrap: wrap; }
  a.fz-pf-more { margin-left: 0; }
  .tcat.fz-cat .fz-pf-context { max-width: 45%; }
  .fz-rules { max-width: none; }
  input.fz-pf-submit { flex: 1 1 100%; }
}

/* ==========================================================================
   Телефон: по ссылкам попадают пальцем, а не мышью.
   Высота самой строки текста — 14 пикселей, этого мало: добавляем
   вертикальный запас, чтобы область нажатия была не меньше 36.
   ========================================================================== */

@media (max-width: 760px) {

  /* панель «Опции темы / Модерация / Оценить тему / Поиск в теме» */
  div.tcat:has(> a#threadtools),
  div.tcat:has(> a#displaymodes) {
    gap: 4px 20px !important;
    padding: 2px 12px !important;
    min-height: 0 !important;
  }
  div.tcat:has(> a#threadtools) > a,
  div.tcat:has(> a#displaymodes) > a {
    padding: 11px 0 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center;
  }

  /* хлебные крошки: строки не должны слипаться, когда их переносит */
  .fz-crumbs, .navbar, .breadcrumb { line-height: 1.9 !important; }
  .fz-crumbs a, .navbar a, .breadcrumb a { padding: 3px 0; }

  /* мелкие ссылки под сообщением (IP, правка, цитата) */
  .fz-post-actions a, .fz-post-actions button { padding: 7px 10px !important; }

  /* ссылки в подвале и в «Ваших правах» тоже кликают пальцем */
  .fz-rules-links a { padding: 6px 0; display: inline-block; }
}

/* ==========================================================================
   Черновик: полоска над полем ввода, если остался неотправленный текст.
   ========================================================================== */

.fz-draft {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  padding: 9px 12px;
  background: var(--fz-accent-soft);
  border: 1px solid rgba(255, 122, 24, .35);
  border-radius: var(--fz-radius-sm);
  font-size: 13px;
  color: var(--fz-ink-2);
}
.fz-draft-text { flex: 1 1 auto; min-width: 0; }

button.fz-draft-btn {
  flex: 0 0 auto;
  padding: 6px 14px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border: 0 !important;
  border-radius: var(--fz-radius-sm) !important;
  background: var(--fz-accent) !important;
  color: #fff !important;
  cursor: pointer;
}
button.fz-draft-btn:hover { background: var(--fz-accent-dark) !important; }

button.fz-draft-btn-ghost {
  background: transparent !important;
  color: var(--fz-muted) !important;
}
button.fz-draft-btn-ghost:hover { background: transparent !important; color: var(--fz-ink) !important; }

@media (max-width: 760px) {
  .fz-draft { font-size: 12.5px; padding: 8px 10px; }
  .fz-draft-text { flex: 1 1 100%; }
}

/* ==========================================================================
   ПОЛИРОВКА ГЛАВНОЙ (2026-09)
   Тот же облик, только плотнее и спокойнее: строки ниже, цифры тише,
   плитки значков тёплые, правая колонка ближе к тексту.
   ========================================================================== */

/* ---------- Тёмные полосы разделов: чуть ниже, цвет и скругления прежние ---------- */
.tcat.fz-cat { padding: 7px 14px !important; }
.tcat.fz-cat .fz-cat-title,
.tcat.fz-cat a.fz-cat-title:link,
.tcat.fz-cat a.fz-cat-title:visited { font-size: 14.5px !important; line-height: 1.25 !important; }
.fz-cat-desc { line-height: 1.3 !important; }
table td.tcat[width="100%"], .fz-cat-card > .tcat { padding: 6px 14px !important; }
.fz-cat-card { margin-bottom: 14px !important; }

/* ---------- Строка раздела: меньше воздуха ---------- */
body:not(:has(#threadslist)) tr.fz-forumrow {
  min-height: 0 !important;
  padding: 12px 16px !important;
  gap: 13px !important;
}
body:not(:has(#threadslist)) .fz-fdesc { margin-top: 3px !important; font-size: 13px !important; line-height: 1.45 !important; }
body:not(:has(#threadslist)) .fz-fsubforums { margin-top: 7px !important; }
body:not(:has(#threadslist)) .fz-ftitle a { font-size: 16.5px !important; }

/* ---------- Плитка значка: очень лёгкий тёплый тон вместо холодного ---------- */
td.fz-fcell-icon {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  --fz-icon-size: 21px;
}
td.fz-fcell-icon::before {
  background: #fbf7f0 !important;
  border: 1px solid #efe7d9 !important;
  border-radius: 10px !important;
}
tr.fz-forumrow:hover td.fz-fcell-icon::before { background: #f7f1e6 !important; border-color: #e7dcc8 !important; }

/* ---------- Подразделы: шире промежутки, числа светлее названий ---------- */
.fz-fsubforums { gap: 4px 22px !important; }
a.fz-sub, a.fz-sub:link, a.fz-sub:visited { gap: 6px !important; }
.fz-sub-t { font-size: 13px !important; font-weight: 600 !important; }
.fz-sub-n { font-size: 11.5px !important; font-weight: 400 !important; color: #9b9fa5 !important; margin-left: 1px; }
a.fz-sub:hover .fz-sub-n { color: var(--fz-accent-dark) !important; }

/* ---------- Правая колонка: уже и ближе к тексту ---------- */
td.fz-fcell-last {
  flex: 0 0 198px !important;
  width: 198px !important;
  max-width: 198px !important;
  padding: 0 0 0 12px !important;
}
td.fz-fcell-last .smallfont { gap: 0 !important; line-height: 1.45 !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 12.5px !important; }
td.fz-fcell-last .smallfont > div:nth-child(2) { font-size: 11.5px !important; }
td.fz-fcell-last .smallfont > div:last-child { font-size: 11.5px !important; color: #9b9fa5 !important; margin-top: 0 !important; }
td.fz-fcell-last .time { color: #9b9fa5 !important; }
td.fz-fcell-last img.inlineimg { max-height: 13px !important; }

/* ---------- Счётчики: тише ---------- */
td.fz-fcell-num { flex: 0 0 66px !important; width: 66px !important; gap: 0 !important; }
td.fz-fcell-num b { font-size: 14.5px !important; font-weight: 600 !important; color: var(--fz-ink-2) !important; line-height: 1.3; }
.fz-fcell-cap { font-size: 10.5px !important; color: #9b9fa5 !important; letter-spacing: .01em; }

/* ---------- Пустая колонка модераторов места не занимает ---------- */
td.fz-fcell-mod:not(:has(a)) { display: none !important; }

/* ---------- Раздел-ссылка («Файловый архив»): без прочерков ---------- */
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_link"]) td.fz-fcell-num b,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_link"]) td.fz-fcell-num .fz-fcell-cap { display: none !important; }
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_link"]) td.fz-fcell-last {
  display: flex !important;
  align-items: center;
  font-size: 0 !important;
}
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_link"]) td.fz-fcell-last::after {
  content: "Нет данных";
  font-size: 12px;
  color: #a2a6ac;
}

/* ---------- Телефон: те же пропорции ---------- */
@media (max-width: 760px) {
  body:not(:has(#threadslist)) tr.fz-forumrow { padding: 11px 12px !important; gap: 10px !important; }
  td.fz-fcell-icon { flex: 0 0 36px !important; width: 36px !important; height: 36px !important; --fz-icon-size: 19px; }
  .fz-fsubforums { gap: 4px 16px !important; }
}

/* ==========================================================================
   СТРАНИЦА ТЕМЫ: ламповый форум (2026-09)
   Та же структура, но плотнее и теплее: сообщения — самостоятельные
   блоки в мягкой рамке, слева визитка участника, кнопки с характером
   старых форумов. Без текстур, глянца и тяжёлых теней.
   ========================================================================== */

:root {
  --fzl-paper:   #fdfbf7;   /* бумага сообщения */
  --fzl-paper-2: #fbf8f1;   /* чередующееся сообщение */
  --fzl-panel:   #f4f0e7;   /* служебные полосы: шапка и подвал поста */
  --fzl-card:    #f7f3ea;   /* визитка участника */
  --fzl-edge:    #e2dbcb;   /* внешняя рамка */
  --fzl-rule:    #eae3d4;   /* внутренние линии */
  --fzl-quiet:   #8a857b;   /* служебный текст на тёплом фоне */
}

/* ---------- Карточка сообщения ---------- */
table.fz-post {
  background: var(--fzl-paper) !important;
  border: 1px solid var(--fzl-edge) !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 2px rgba(74, 62, 42, .06) !important;
}
div[id^="edit"] { padding: 0 0 9px 0 !important; }

/* очень мягкое чередование — читается как ритм, а не как полоска */
#posts > div:nth-child(even) table.fz-post { background: var(--fzl-paper-2) !important; }

/* ---------- Шапка поста: дата, номер, чекбокс ---------- */
table.fz-post td.fz-post-head {
  background: var(--fzl-panel) !important;
  border-bottom: 1px solid var(--fzl-edge) !important;
  padding: 5px 12px !important;
  font-size: 11.5px !important;
  color: var(--fzl-quiet) !important;
}
.fz-post-date { font-size: 11.5px !important; color: var(--fzl-quiet) !important; }
.fz-post-head a, .fz-post-head a:link, .fz-post-head a:visited { color: var(--fzl-quiet) !important; }
.fz-post-head a:hover { color: var(--fz-accent-dark) !important; }
.fz-post-head-right { gap: 7px !important; }
.fz-post-head-right a strong { font-weight: 700; }
.fz-post-head input[type="checkbox"] { accent-color: var(--fz-accent); }

/* ---------- Визитка участника ---------- */
table.fz-post td.fz-author {
  width: 178px !important; min-width: 178px !important; max-width: 178px !important;
  background: var(--fzl-card) !important;
  border-right: 1px solid var(--fzl-edge) !important;
  padding: 11px 11px 12px !important;
}
.fz-author-name { font-size: 15px !important; font-weight: 700 !important; margin-bottom: 1px !important; }
.fz-author-name a, .fz-author-name a:link, .fz-author-name a:visited,
.fz-author-name a.bigusername {
  color: #2f6690 !important; font-size: 15px !important; font-weight: 700 !important;
  letter-spacing: -.005em;
}
.fz-author-name a:hover { color: var(--fz-accent-dark) !important; }

/* «вне форума / на форуме» — точкой, как на старых форумах */
td.fz-author > .fz-online {
  display: inline-flex !important; align-items: center; gap: 5px;
  font-size: 10.5px !important; color: var(--fzl-quiet) !important;
  text-transform: lowercase; letter-spacing: .01em;
}
td.fz-author > .fz-online::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: #bdb7aa; flex: 0 0 auto;
}
td.fz-author > .fz-online-on::before { background: #4f9d52; }

.fz-author-title {
  font-size: 11px !important; line-height: 1.35 !important;
  color: #7c7770 !important; margin: 3px 0 0 !important;
}

/* аватар в тонкой «паспарту» — узнаваемая деталь форумов нулевых */
.fz-author-ava { margin: 9px auto 9px !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub {
  width: 62px !important; height: 62px !important; font-size: 23px !important;
  padding: 2px !important;
  background: #fff !important;
  border: 1px solid #ded6c6 !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
}

/* статистика — отдельным блоком под линией */
.fz-author-stats {
  margin-top: 0 !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--fzl-rule) !important;
  gap: 2px !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  color: #4d4840 !important;
}
.fz-author-stats .fz-stat { gap: 10px !important; }
.fz-author-stats .fz-stat > span:first-child { color: var(--fzl-quiet) !important; font-size: 11px !important; }
.fz-author-stats .fz-stat b { color: #3d3931 !important; font-weight: 700 !important; }
/* строка без подписи (флаг, значки) — по центру, а не прижата вправо */
.fz-author-stats .fz-stat:has(> span:first-child:empty) { justify-content: center !important; }
.fz-flag { vertical-align: -2px; border-radius: 2px; }

.fz-stat-social { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid var(--fzl-rule) !important; }
.fz-vk {
  padding: 2px 9px !important; font-size: 11px !important;
  background: linear-gradient(#ffffff, #f4f0e6) !important;
  border: 1px solid #ded6c6 !important; border-radius: 4px !important;
  color: #2f6690 !important;
}
.fz-vk:hover { border-color: #c9bfa9 !important; color: var(--fz-accent-dark) !important; }
.fz-author-gifts { margin-top: 8px !important; font-size: 11px !important; color: var(--fzl-quiet) !important; }

/* ---------- Текст сообщения ---------- */
td.fz-msg { padding: 11px 16px 12px !important; }
.fz-msg-title {
  font-size: 12px !important; color: #7c7770 !important;
  margin-bottom: 8px !important; padding-bottom: 6px !important;
  border-bottom: 1px solid var(--fzl-rule) !important;
}
.fz-msg-body { font-size: 15.5px !important; line-height: 1.55 !important; color: #2b2925 !important; }
.fz-msg-body p { margin: 0 0 9px !important; }
.fz-msg-body p:last-child { margin-bottom: 0 !important; }
.fz-msg-body br + br { line-height: .6; }
.fz-msg-body a > img, .fz-msg-body img.fz-zoom { margin: 4px 0 2px !important; }
.fz-msg-body > :first-child { margin-top: 0 !important; }
.fz-msg-body > :last-child { margin-bottom: 0 !important; }

.fz-msg-sig { margin-top: 12px !important; padding-top: 8px !important; border-top: 1px solid var(--fzl-rule) !important; }
.fz-msg-edited { margin-top: 8px !important; color: var(--fzl-quiet) !important; }

/* цитаты и код — в той же тёплой гамме */
.fz-quote, blockquote.fz-quote {
  background: #f6f2e8 !important;
  border: 1px solid var(--fzl-rule) !important;
  border-left: 3px solid #d8cdb4 !important;
  border-radius: 4px !important;
  margin: 8px 0 !important;
}
.fz-code, pre.fz-code {
  background: #f5f2ec !important;
  border: 1px solid var(--fzl-rule) !important;
  border-radius: 4px !important;
  margin: 8px 0 !important;
}

/* ---------- Нижняя полоса действий ---------- */
table.fz-post td.fz-post-foot-left, table.fz-post td.fz-post-foot-right {
  background: var(--fzl-panel) !important;
  border-top: 1px solid var(--fzl-edge) !important;
  padding: 5px 12px !important;
}
td.fz-post-foot-right .fzb, td.fz-post-foot-right .fz-btn,
td.fz-post-foot-right .fz-btn-ghost, td.fz-post-foot-right span.fzb { height: 27px !important; }
td.fz-post-foot-right > a, td.fz-post-foot-right > span { margin-left: 5px !important; }

/* ---------- Кнопки: характер старых форумов ---------- */
.fz-btn, a.fz-btn:link, a.fz-btn:visited,
.fzgo, input.button, input[type="submit"].button, button.button {
  background: linear-gradient(#ff9440, #f07c15) !important;
  border: 1px solid #d96c0b !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3) !important;
  color: #fff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 0 rgba(120,60,0,.18);
}
.fz-btn:hover, a.fz-btn:hover, .fzgo:hover, input.button:hover, button.button:hover {
  background: linear-gradient(#ff8a2e, #e87109) !important;
  border-color: #c96108 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.fz-btn:active, a.fz-btn:active, .fzgo:active {
  background: linear-gradient(#ef7913, #ff8e33) !important;
  box-shadow: inset 0 1px 2px rgba(120,60,0,.28) !important;
}

.fz-btn-ghost, a.fz-btn-ghost:link, a.fz-btn-ghost:visited, .fzb-ghost,
td.fz-post-foot-right span.fzb, td.fz-post-foot-left .fzb,
td.fz-post-foot-left > a:not(.fzb):not(.fz-btn) {
  background: linear-gradient(#fffdf8, #f2ede1) !important;
  border: 1px solid #ded6c6 !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
  color: #4b463e !important;
  font-weight: 600 !important;
}
.fz-btn-ghost:hover, a.fz-btn-ghost:hover, .fzb-ghost:hover,
td.fz-post-foot-right span.fzb:hover, td.fz-post-foot-left .fzb:hover,
td.fz-post-foot-left > a:not(.fzb):hover {
  background: linear-gradient(#fffefb, #ece5d5) !important;
  border-color: #cfc4ad !important;
  color: #2f2c26 !important;
}
.fz-btn-ghost:active, a.fz-btn-ghost:active, td.fz-post-foot-right span.fzb:active {
  background: linear-gradient(#ece5d5, #f7f2e7) !important;
  box-shadow: inset 0 1px 2px rgba(90,75,50,.16) !important;
}

/* «Бан», «Удалить», «Замечание» — тёплый красный, но не кислотный */
.fz-qban, a.fz-qban:link, a.fz-qban:visited,
.fz-qdel, a.fz-qdel:link, a.fz-qdel:visited,
td.fz-post-foot-left .fzb-danger {
  color: #9c3a2c !important;
  border-color: #dcc4bb !important;
  background: linear-gradient(#fffaf8, #f6e9e4) !important;
}
.fz-qban:hover, .fz-qdel:hover, td.fz-post-foot-left .fzb-danger:hover {
  color: #7f2c20 !important; border-color: #cba899 !important;
  background: linear-gradient(#fffcfb, #f2ded7) !important;
}

/* мультицитата «включена» — заметно, но спокойно */
td.fz-post-foot-right .fzb-mq.is-on {
  background: linear-gradient(#ffb060, #f58a24) !important;
  border-color: #dd7a10 !important;
  color: #fff !important;
}

/* ---------- Верхняя панель темы ---------- */
div.tcat:has(> a#displaymodes),
div.tcat:has(> a#threadtools) {
  padding: 5px 14px !important;
  min-height: 30px !important;
  gap: 0 !important;
  border-radius: 5px !important;
}
div.tcat:has(> a#displaymodes) > a,
div.tcat:has(> a#threadtools) > a {
  padding: 2px 14px !important;
  font-size: 12.5px !important;
  letter-spacing: .01em;
}
div.tcat:has(> a#displaymodes) > a:first-of-type,
div.tcat:has(> a#threadtools) > a:first-of-type { padding-left: 0 !important; }
div.tcat:has(> a#displaymodes) > a + a,
div.tcat:has(> a#threadtools) > a + a { border-left: 1px solid rgba(255,255,255,.15) !important; }

/* ---------- Пагинация ---------- */
.pagenav table.tborder {
  border: 0 !important; background: transparent !important;
  border-spacing: 3px !important; border-collapse: separate !important;
}
.pagenav table.tborder > tbody > tr > td,
.pagenav td {
  border: 1px solid #ded6c6 !important;
  border-radius: 4px !important;
  background: linear-gradient(#fffdf8, #f2ede1) !important;
  padding: 0 !important;
  text-align: center;
}
.pagenav td a, .pagenav td span, .pagenav td strong {
  display: block; min-width: 24px;
  padding: 4px 8px !important;
  font-size: 12.5px !important; font-weight: 600 !important;
  color: #4b463e !important; text-decoration: none !important;
}
.pagenav td a:hover { color: var(--fz-accent-dark) !important; }
.pagenav td:hover { border-color: #cfc4ad !important; background: linear-gradient(#fffefb, #ece5d5) !important; }
/* текущая страница */
.pagenav table.tborder > tbody > tr > td.alt2,
.pagenav td.alt2 {
  background: linear-gradient(#ff9440, #f07c15) !important;
  border-color: #d96c0b !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3) !important;
}
.pagenav td.alt2 span, .pagenav td.alt2 strong { color: #fff !important; text-shadow: 0 1px 0 rgba(120,60,0,.2); }
/* «Страница 1 из 2» — подпись, а не кнопка */
.pagenav table.tborder > tbody > tr > td.vbmenu_control,
.pagenav td.vbmenu_control {
  background: none !important; border: 0 !important; box-shadow: none !important;
  color: var(--fzl-quiet) !important; font-size: 12px !important; font-weight: 400 !important;
}
.pagenav td.vbmenu_control:hover { background: none !important; border: 0 !important; }
.pagenav td.vbmenu_control img { display: none !important; }

/* ---------- Телефон ---------- */
@media (max-width: 760px) {
  td.fz-author { border-right: 0 !important; border-bottom: 1px solid var(--fzl-edge) !important; }
  td.fz-msg { padding: 10px 12px 11px !important; }
  .fz-msg-body { font-size: 15px !important; }
  .pagenav td a, .pagenav td span, .pagenav td strong { padding: 6px 9px !important; }
}

/* ---------- Плотность: подгонка после замеров ---------- */

/* колонка участника не должна тянуть таблицу: текст забирает остаток */
table.fz-post td.fz-msg { width: 100% !important; }

/* служебные полосы — ровно под содержимое */
table.fz-post td.fz-post-head { line-height: 1.15 !important; padding: 4px 12px !important; }
.fz-post-head input[type="checkbox"] { width: 13px; height: 13px; margin-left: 5px !important; }
table.fz-post td.fz-post-foot-left, table.fz-post td.fz-post-foot-right { padding: 4px 12px !important; }
td.fz-post-foot-right .fzb, td.fz-post-foot-right .fz-btn,
td.fz-post-foot-right .fz-btn-ghost, td.fz-post-foot-right span.fzb {
  height: 25px !important; padding: 0 11px !important; font-size: 12.5px !important;
}
td.fz-post-foot-left .fzb, td.fz-post-foot-left > a:not(.fzb):not(.fz-btn) { height: 22px !important; }

/* визитка: аватар меньше, строки ближе */
.fz-author-name { line-height: 1.2 !important; }
.fz-author-ava { margin: 7px auto !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub {
  width: 52px !important; height: 52px !important; font-size: 19px !important;
}
table.fz-post td.fz-author { padding: 9px 11px 10px !important; }
.fz-author-stats { padding-top: 7px !important; }

/* заголовок сообщения без текста (только значок) места не занимает */
.fz-msg-title:not(:has(strong)) { display: none !important; }

/* промежуток между сообщениями */
div[id^="edit"] { padding-bottom: 8px !important; }

/* ==========================================================================
   ПЛОСКАЯ ГЕОМЕТРИЯ (2026-09)
   Скругления только снаружи. Внутри карточек — панели и линии,
   без вложенных «капсул»: так выглядели форумы, а не панели управления.
   ========================================================================== */

:root {
  --fz-radius:    5px;
  --fz-radius-sm: 4px;
}

/* внешние карточки — лёгкое скругление, внутренности плоские */
.fz-cat-card, .fz-chat-card { border-radius: 5px !important; }
.tcat.fz-cat { border-radius: 5px 5px 0 0 !important; }
.fz-cat-card > .tcat, div.tcat { border-radius: 0 !important; }
.fz-chat-card > .tcat, .fz-chat-card > div:first-child { border-radius: 5px 5px 0 0 !important; }

/* строка раздела — панель в таблице, а не отдельная плашка */
tr.fz-forumrow, tr.fz-threadrow, tr.fz-colhead { border-radius: 0 !important; }
.fz-cat-card table.tborder { border-radius: 0 !important; }
.fz-cat-card tr.fz-forumrow:last-child { border-radius: 0 0 5px 5px !important; }

/* плитка значка — плоский квадрат с тёплой заливкой */
td.fz-fcell-icon { border-radius: 2px !important; }
td.fz-fcell-icon::before { border-radius: 2px !important; }
td.fz-fcell-icon img, td.fz-fcell-icon img.fz-ficon, img.fz-ficon { border-radius: 0 !important; }

/* правую часть строки выделяем линией и отступом, без подложек */
td.fz-fcell-last { border-radius: 0 !important; background: transparent !important; }
td.fz-fcell-num { border-radius: 0 !important; background: transparent !important; }

/* ---------- Страница темы: те же правила ---------- */
table.fz-post { border-radius: 5px !important; }
table.fz-post td.fz-post-head { border-radius: 5px 5px 0 0 !important; }
table.fz-post td.fz-post-foot-left { border-radius: 0 0 0 5px !important; }
table.fz-post td.fz-post-foot-right { border-radius: 0 0 5px 0 !important; }

.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub { border-radius: 2px !important; }
.fz-quote, blockquote.fz-quote, .fz-code, pre.fz-code { border-radius: 2px !important; }
.fz-msg-body img, div[id^="post_message_"] img,
.fz-msg-body img.fz-zoom, .fz-msg-attach img.fz-zoom { border-radius: 2px !important; }
.fz-vk { border-radius: 3px !important; }

/* кнопки и чипы — классическое скругление в 3 пикселя */
.fz-btn, a.fz-btn:link, a.fz-btn:visited, .fz-btn-ghost, a.fz-btn-ghost:link,
.fzb, .fzb-ghost, .fzgo, input.button, input[type="submit"], input[type="button"], button.button,
td.fz-post-foot-left > a:not(.fzb):not(.fz-btn), td.fz-post-foot-left > span:not(.fzb),
.pagenav table.tborder > tbody > tr > td, .pagenav td {
  border-radius: 3px !important;
}

/* поля ввода — тоже плоские */
input.bginput, textarea.bginput, select.bginput,
input[type="text"], input[type="password"], textarea, select { border-radius: 3px !important; }

/* строки разделов стоят встык, разделённые линией, — как в таблице форума,
   а не как отдельные плитки с промежутками */
.fz-cat-card { overflow: hidden !important; }
tr.fz-forumrow {
  margin: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--fz-line) !important;
  box-shadow: none !important;
}
tr.fz-forumrow:first-child { border-top: 0 !important; }
.fz-cat-card tr.fz-forumrow:last-child { border-radius: 0 !important; }

/* ==========================================================================
   Значки разделов — родные картинки стиля, текст разделов чёрный (2026-09)
   ========================================================================== */

/* ---------- Значки: показываем настоящие гифки, плитку и маску убираем ---------- */
td.fz-fcell-icon {
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  align-self: flex-start !important;
  display: flex !important;
  align-items: center;
}
td.fz-fcell-icon::before,
td.fz-fcell-icon::after { display: none !important; content: none !important; }

td.fz-fcell-icon img,
td.fz-fcell-icon img.fz-ficon,
img.fz-ficon {
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  filter: none !important;
  transform: none !important;
  display: block !important;
}
tr.fz-forumrow:hover td.fz-fcell-icon img { transform: none !important; filter: none !important; }

/* ---------- Текст разделов и ссылки тем — чёрные ---------- */
.fz-ftitle a, .fz-ftitle a:link, .fz-ftitle a:visited { color: #111214 !important; }
.fz-fdesc { color: #111214 !important; }
.fz-fsubforums .fz-fsublabel { color: #111214 !important; }
a.fz-sub, a.fz-sub:link, a.fz-sub:visited, .fz-sub-t { color: #111214 !important; }

/* колонка последнего сообщения: название темы и автор */
td.fz-fcell-last a, td.fz-fcell-last a:link, td.fz-fcell-last a:visited,
td.fz-fcell-last .smallfont > div:first-child a { color: #111214 !important; }
td.fz-fcell-last .smallfont, td.fz-fcell-last .smallfont > div:nth-child(2) { color: #111214 !important; }

/* список тем в разделе */
.fz-th-title, a.fz-th-title:link, a.fz-th-title:visited { color: #111214 !important; }
.fz-th-last-link, .fz-th-last-name { color: #111214 !important; }

/* наведение остаётся оранжевым */
.fz-ftitle a:hover, a.fz-sub:hover, a.fz-sub:hover .fz-sub-t,
td.fz-fcell-last a:hover, .fz-th-title:hover,
.fz-th-last-link:hover .fz-th-last-name { color: var(--fz-accent-dark) !important; }

@media (max-width: 760px) {
  td.fz-fcell-icon img, td.fz-fcell-icon img.fz-ficon { max-width: 36px !important; max-height: 36px !important; }
}

/* строка раздела подсвечивается целиком: у ячеек своего фона нет,
   иначе колонка с темой и счётчики оставались белыми пятнами */
table.tborder > tbody > tr.fz-forumrow > td,
table.tborder > tbody > tr.fz-forumrow > td.alt1,
table.tborder > tbody > tr.fz-forumrow > td.alt1Active,
table.tborder > tbody > tr.fz-forumrow > td.alt2,
tr.fz-forumrow > td, tr.fz-forumrow > td.alt1,
tr.fz-forumrow > td.alt1Active, tr.fz-forumrow > td.alt2 {
  background: transparent !important;
}
/* то же для списка тем в разделе */
table.tborder > tbody > tr.fz-threadrow > td,
table.tborder > tbody > tr.fz-threadrow > td.alt1,
table.tborder > tbody > tr.fz-threadrow > td.alt1Active,
table.tborder > tbody > tr.fz-threadrow > td.alt2,
tr.fz-threadrow > td { background: transparent !important; }

/* ---------- Читаемость мелких подписей ---------- */
/* главная: дата последнего сообщения, «сообщений», «тем» — чёрные и крупнее */
td.fz-fcell-last .smallfont { font-size: 13px !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 13.5px !important; }
td.fz-fcell-last .smallfont > div:nth-child(2) { font-size: 12.5px !important; color: #111214 !important; }
td.fz-fcell-last .smallfont > div:last-child,
td.fz-fcell-last .time,
td.fz-fcell-last .smallfont > div:last-child .time {
  font-size: 12.5px !important; color: #111214 !important;
}
.fz-fcell-cap { font-size: 12px !important; color: #111214 !important; letter-spacing: 0 !important; }
td.fz-fcell-num b { font-size: 15.5px !important; color: #111214 !important; }

/* список тем в разделе — те же подписи */
.fz-th-last-date { font-size: 12px !important; color: #111214 !important; }
td.fz-th-stats .fz-fcell-cap, td.fz-th-stats .fz-th-cap { font-size: 12px !important; color: #111214 !important; }

/* ---------- Визитка в постбите: крупнее и чёрным ---------- */
.fz-author-stats { font-size: 13px !important; line-height: 1.5 !important; color: #111214 !important; }
.fz-author-stats .fz-stat { padding: 2px 0 !important; }
.fz-author-stats .fz-stat > span:first-child { font-size: 12.5px !important; color: #4a4a4a !important; }
.fz-author-stats .fz-stat b { font-size: 13px !important; color: #111214 !important; }
.fz-author-title { font-size: 12.5px !important; color: #3a3a3a !important; }
.fz-author-rank { font-size: 12px !important; }
.fz-author-gifts { font-size: 12px !important; color: #4a4a4a !important; }

/* страна — отдельной строкой внизу визитки: флаг + название */
.fz-author-stats .fz-stat-country {
  display: flex !important; align-items: center; justify-content: center !important;
  gap: 6px !important; margin-top: 6px !important; padding-top: 6px !important;
  border-top: 1px solid var(--fzl-rule, #e6e2d8) !important;
}
.fz-author-stats .fz-stat-country b {
  font-weight: 600 !important; font-size: 12.5px !important; color: #111214 !important;
}
.fz-author-stats .fz-stat-country img.fz-flag { width: 18px !important; height: auto !important; }
/* соцкнопка идёт выше страны — свою верхнюю линию убираем, чтобы не было двух подряд */
.fz-stat-social { border-top: 0 !important; padding-top: 0 !important; }

/* на узких экранах строка страны всё равно показывается */
@media (max-width: 760px) {
  .fz-author-stats .fz-stat.fz-stat-country { display: flex !important; }
  .fz-author-stats .fz-stat-country { margin-top: 4px !important; padding-top: 4px !important; }
}

/* подписи счётчиков не переносятся: колонка под более крупный текст */
td.fz-fcell-num { flex: 0 0 82px !important; width: 82px !important; }
.fz-fcell-cap { white-space: nowrap !important; }
@media (max-width: 760px) {
  td.fz-fcell-num { flex: 0 0 74px !important; width: 74px !important; }
  .fz-fcell-cap { font-size: 11.5px !important; }
}

/* ---------- Подзаголовки колонок на главной ---------- */
tr.fz-colhead,
.fz-cat-card tr.fz-colhead,
table.tborder > tbody > tr.fz-colhead {
  display: flex !important;
  align-items: center !important;
  background: #f2f1ef !important;
  border-bottom: 1px solid #e3e1dd !important;
  border-radius: 0 !important;
}
tr.fz-colhead > td.thead {
  background: transparent !important;
  border: 0 !important;
  padding: 7px 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #111214 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
tr.fz-colhead > td.fz-ch-icon { flex: 0 0 48px !important; }
tr.fz-colhead > td.fz-ch-main { flex: 1 1 auto !important; min-width: 0 !important; text-align: left !important; }
tr.fz-colhead > td.fz-ch-last { flex: 0 0 198px !important; text-align: left !important; }
tr.fz-colhead > td.fz-ch-num  { flex: 0 0 88px !important; text-align: center !important; }
tr.fz-colhead > td.fz-ch-mod  { flex: 0 0 120px !important; text-align: center !important; }

/* колонки строки раздела под ту же сетку */
td.fz-fcell-icon { flex: 0 0 48px !important; justify-content: center !important; }
td.fz-fcell-num  { flex: 0 0 88px !important; width: 88px !important; padding-left: 0 !important; padding-right: 0 !important; }
td.fz-fcell-mod  {
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex: 0 0 120px !important; width: 120px !important;
  padding-left: 0 !important; padding-right: 0 !important;
  background: transparent !important;
}
.fz-fmods { font-size: 12px !important; color: #111214 !important; text-align: center !important; line-height: 1.35; }
.fz-fmods a, .fz-fmods a:link, .fz-fmods a:visited { color: #111214 !important; }
.fz-fmods a:hover { color: var(--fz-accent-dark) !important; }

/* подписи счётчиков — обычным начертанием */
.fz-fcell-cap { font-weight: 400 !important; }

@media (max-width: 1080px) {
  tr.fz-colhead > td.fz-ch-mod { display: none !important; }
  td.fz-fcell-mod { display: none !important; }
}
@media (max-width: 860px) {
  tr.fz-colhead, .fz-cat-card tr.fz-colhead,
  table.tborder > tbody > tr.fz-colhead { display: none !important; }
  td.fz-fcell-num { flex: 0 0 80px !important; width: 80px !important; }
  td.fz-fcell-icon { flex: 0 0 42px !important; }
}

/* ---------- Визитка: ещё крупнее ---------- */
.fz-author-stats { font-size: 14.5px !important; line-height: 1.55 !important; }
.fz-author-stats .fz-stat > span:first-child { font-size: 14px !important; color: #4a4a4a !important; }
.fz-author-stats .fz-stat b,
.fz-author-stats .fz-stat { color: #111214 !important; }
.fz-author-stats .fz-stat b { font-size: 14.5px !important; }
.fz-author-title { font-size: 13.5px !important; }
.fz-author-rank { font-size: 13px !important; }
.fz-author-gifts { font-size: 13px !important; }
.fz-author-stats .fz-stat-country b { font-size: 14px !important; }
.fz-author-stats .fz-stat-country img.fz-flag { width: 20px !important; }
.fz-vk { font-size: 13px !important; padding: 3px 12px !important; }

/* шапка колонок — та же сетка, что и у строки раздела */
tr.fz-colhead,
.fz-cat-card tr.fz-colhead,
table.tborder > tbody > tr.fz-colhead {
  padding: 0 16px !important;
  gap: 13px !important;
}
tr.fz-colhead > td.fz-ch-last { padding-left: 12px !important; }
/* колонка модератора остаётся на месте и когда модератора нет — иначе сетка едет */
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)),
tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)) {
  display: flex !important;
}
@media (max-width: 1080px) {
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod,
  tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)),
  td.fz-fcell-mod { display: none !important; }
}
@media (max-width: 860px) {
  tr.fz-colhead, .fz-cat-card tr.fz-colhead,
  table.tborder > tbody > tr.fz-colhead { display: none !important; }
}
tr.fz-colhead > td.thead { box-sizing: border-box !important; }

/* визитка шире — при крупном шрифте строки «Регистрация / Сообщений» не переносятся */
@media (min-width: 761px) {
  table.fz-post td.fz-author,
  td.fz-author {
    width: 206px !important; min-width: 206px !important; max-width: 206px !important;
  }
}
.fz-author-stats .fz-stat {
  display: flex !important; align-items: baseline; justify-content: space-between !important;
  gap: 8px !important; white-space: nowrap !important;
}
.fz-author-stats .fz-stat > span:first-child { flex: 0 1 auto; }
@media (min-width: 761px) and (max-width: 900px) {
  table.fz-post td.fz-author, td.fz-author {
    width: 190px !important; min-width: 190px !important; max-width: 190px !important;
  }
  .fz-author-stats { font-size: 13.5px !important; }
  .fz-author-stats .fz-stat > span:first-child { font-size: 13px !important; }
  .fz-author-stats .fz-stat b { font-size: 13.5px !important; }
}

/* ==========================================================================
   БЕЛАЯ СТРАНИЦА, СВЕТЛО-СЕРЫЕ ФУНКЦИОНАЛЬНЫЕ БЛОКИ
   Концепция: не серый сайт с белыми карточками, а белый сайт,
   на котором служебные области подсвечены очень светлым серым.
   ========================================================================== */
:root {
  --fz-page-bg:     #ffffff;
  --fz-surface:     #ffffff;
  --fz-soft:        #f7f7f6;   /* hover строк */
  --fz-soft-2:      #f3f3f2;
  --fz-card-soft:   #f5f5f4;

  --fz-line:        #e6e6e4;
  --fz-line-2:      #dcdcdc;
  --fz-border:      #dcdcdc;
  --fz-border-soft: #e6e6e4;

  --fz-radius:      2px;
  --fz-radius-sm:   2px;
  --fz-shadow:      none;
  --fz-shadow-2:    none;

  /* постбит: тёплая «бумага» -> нейтральный светлый */
  --fzl-paper:   #ffffff;
  --fzl-paper-2: #fcfcfc;
  --fzl-panel:   #f1f1f0;
  --fzl-card:    #f5f5f4;
  --fzl-edge:    #dcdcdc;
  --fzl-rule:    #e6e6e4;
  --fzl-quiet:   #6e6e6c;

  /* серые уровни */
  --fzw-1: #f5f5f4;   /* контейнер блока */
  --fzw-2: #f1f1f0;   /* служебная полоса */
  --fzw-3: #ececeb;   /* шапка таблицы / плашка секции */
  --fzw-brd: #dcdcdc;
  --fzw-brd-soft: #e4e4e2;
}

/* ---------- 1. фон страницы ---------- */
html, body { background: #ffffff !important; }
.page, div.page { background: transparent !important; }

/* ---------- 2. контейнеры блоков ---------- */
.fz-cat-card, .fz-chat-card {
  background: var(--fzw-1) !important;
  border: 1px solid var(--fzw-brd) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  overflow: hidden;
}
.fz-cat-card > table.tborder, table.tborder {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ---------- 3. плашка секции ---------- */
.tcat, td.tcat, .tcat.fz-cat, .fz-cat-card > .tcat, table td.tcat[width="100%"] {
  background: var(--fzw-3) !important;
  background-image: none !important;
  color: #17181a !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fzw-brd) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.tcat.fz-cat { padding: 8px 16px !important; line-height: 1.3 !important; height: auto !important; }
.tcat a, .tcat a:link, .tcat a:visited,
.tcat .fz-cat-title, .tcat a.fz-cat-title:link, .tcat a.fz-cat-title:visited,
.fz-cat-card > .tcat a, .fz-cat-card > .tcat a:link, .fz-cat-card > .tcat a:visited,
table td.tcat[width="100%"] a {
  color: #17181a !important; text-shadow: none !important;
}
.tcat a:hover, .tcat .fz-cat-title:hover, table td.tcat[width="100%"] a:hover {
  color: var(--fz-accent-dark) !important;
}
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited {
  font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0 !important;
}
.fz-cat-desc, .tcat .fz-cat-desc { color: #5f5f5d !important; }
table td.tcat[width="100%"] .normal { color: #5f5f5d !important; }
.fz-cat-collapse::after { border-color: #6b6b69 !important; }
.fz-cat-collapse:hover::after { border-color: var(--fz-accent-dark) !important; }

/* ---------- 4. шапки таблиц и служебные полосы ---------- */
td.thead, .thead, tr.fz-colhead > td.thead {
  background: var(--fzw-2) !important;
  background-image: none !important;
  color: #17181a !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-shadow: none !important;
}
tr.fz-colhead, .fz-cat-card tr.fz-colhead, table.tborder > tbody > tr.fz-colhead {
  background: var(--fzw-2) !important;
  border-bottom: 1px solid var(--fzw-brd-soft) !important;
}
.tfoot, td.tfoot, div.tfoot {
  background: var(--fzw-2) !important;
  color: #3a3a38 !important;
  border: 0 !important;
  border-top: 1px solid var(--fzw-brd-soft) !important;
  border-radius: 0 !important;
}
.tfoot a, .tfoot a:link, .tfoot a:visited, td.tfoot a { color: #3a3a38 !important; }
.tfoot a:hover { color: var(--fz-accent-dark) !important; }

/* ---------- 5. строки разделов и тем — белые ---------- */
tr.fz-forumrow, tr.fz-threadrow {
  background: #ffffff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fzw-brd-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}
tr.fz-forumrow:last-child, tr.fz-threadrow:last-child { border-bottom: 0 !important; }
tr.fz-forumrow:hover, tr.fz-threadrow:hover {
  background: #f7f7f6 !important; box-shadow: none !important;
}

/* ---------- 6. сообщения на странице темы ---------- */
table.fz-post {
  background: #ffffff !important;
  border: 1px solid var(--fzw-brd) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
table.fz-post td.fz-post-head,
table.fz-post td.fz-post-foot-left,
table.fz-post td.fz-post-foot-right {
  background: var(--fzw-2) !important;
  border-radius: 0 !important;
  color: #3a3a38 !important;
}
table.fz-post td.fz-author { background: var(--fzw-1) !important; border-right: 1px solid var(--fzw-brd-soft) !important; }
table.fz-post td.fz-msg { background: #ffffff !important; }

/* ---------- 7. углы и рамки ---------- */
.fz-cat-card, .fz-chat-card, table.fz-post, .fz-chat-frame,
.fzb, .fz-btn, input[type="text"], input[type="password"], input[type="submit"],
input.button, textarea, select, .pagenav td, .fz-page-btn,
.vbmenu_popup, .fz-top5-grid, fieldset, .fieldset, blockquote, .bbcode_container,
.fz-msg-attach, .fz-ava-stub, .fz-author-ava img, .fz-author-ava img.fz-ava-img {
  border-radius: 2px !important;
}
.vbmenu_popup, fieldset, .fieldset, .bbcode_container { border-color: var(--fzw-brd) !important; }

/* ---------- 8. светлые служебные панели вокруг контента ---------- */
.fzh-menu-wrap { background: var(--fzw-1) !important; border-bottom: 1px solid var(--fzw-brd) !important; }
.fzh-drawer { background: var(--fzw-1) !important; }
.fzh-drawer-sep { background: var(--fzw-2) !important; }

/* текст на плашке секции — тёмный (перебиваем старые правила с белым) */
.fz-cat-card > .tcat.fz-cat .fz-cat-title,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title:link,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title:visited,
.tcat.fz-cat a.fz-cat-title,
.tcat.fz-cat a.fz-cat-title:link,
.tcat.fz-cat a.fz-cat-title:visited { color: #17181a !important; }
.fz-cat-card > .tcat.fz-cat a.fz-cat-title:hover,
.tcat.fz-cat a.fz-cat-title:hover { color: var(--fz-accent-dark) !important; }
.tcat.fz-cat .fz-cat-desc, .fz-cat-card > .tcat .fz-cat-desc { color: #5f5f5d !important; }
table td.tcat[width="100%"], table td.tcat[width="100%"] a,
table td.tcat[width="100%"] a:link, table td.tcat[width="100%"] a:visited { color: #17181a !important; }
table td.tcat[width="100%"] .normal { color: #5f5f5d !important; }
.tcat img, td.tcat img { filter: none !important; }

/* ---------- 9. шире контейнер и крупнее шрифт ---------- */
:root { --fz-container: min(95vw, 1900px); }
#fzh .fzh-top, #fzh .fzh-menu { max-width: var(--fz-container) !important; }
div.page, .fz-crumb { max-width: var(--fz-container) !important; }

body { font-size: 16.5px !important; }
body:not(:has(#threadslist)) .fz-ftitle a { font-size: 17.5px !important; }
body:not(:has(#threadslist)) .fz-fdesc { font-size: 14px !important; }
body:has(#threadslist) .fz-ftitle a { font-size: 16.5px !important; }
body:has(#threadslist) .fz-fdesc { font-size: 13.5px !important; }
.fz-sub-t { font-size: 14px !important; }
.fz-fsubforums .fz-fsublabel { font-size: 12.5px !important; }
.fz-th-title, a.fz-th-title:link, a.fz-th-title:visited { font-size: 16px !important; }
.fz-msg-body { font-size: 16.5px !important; line-height: 1.6 !important; max-width: 108ch !important; }
td.fz-fcell-last .smallfont { font-size: 13.5px !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 14.5px !important; }
td.fz-fcell-last .smallfont > div:nth-child(2),
td.fz-fcell-last .smallfont > div:last-child, td.fz-fcell-last .time { font-size: 13px !important; }
.fz-fcell-cap { font-size: 12.5px !important; }
td.fz-fcell-num b { font-size: 16.5px !important; }
tr.fz-colhead > td.thead { font-size: 12.5px !important; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title:link,
.tcat.fz-cat a.fz-cat-title:visited { font-size: 15px !important; }

/* места стало больше — колонки можно расширить */
@media (min-width: 1100px) {
  td.fz-fcell-last { flex: 0 0 240px !important; }
  tr.fz-colhead > td.fz-ch-last { flex: 0 0 240px !important; }
  td.fz-fcell-num { flex: 0 0 96px !important; width: 96px !important; }
  tr.fz-colhead > td.fz-ch-num { flex: 0 0 96px !important; }
  td.fz-fcell-mod { flex: 0 0 140px !important; width: 140px !important; }
  tr.fz-colhead > td.fz-ch-mod { flex: 0 0 140px !important; }
}
@media (min-width: 1100px) {
  td.fz-fcell-last { max-width: 240px !important; width: 240px !important; min-width: 0 !important; }
}

/* ---------- плашки секций — серый графит, как раньше, но компактнее ---------- */
.tcat, td.tcat, .tcat.fz-cat, .fz-cat-card > .tcat, table td.tcat[width="100%"] {
  background: var(--fz-graphite, #30343a) !important;
  color: #ffffff !important;
  border-bottom: 0 !important;
}
.tcat.fz-cat { padding: 9px 16px !important; }
.tcat a, .tcat a:link, .tcat a:visited,
.tcat .fz-cat-title, .tcat a.fz-cat-title:link, .tcat a.fz-cat-title:visited,
.fz-cat-card > .tcat a, .fz-cat-card > .tcat a:link, .fz-cat-card > .tcat a:visited,
.fz-cat-card > .tcat.fz-cat .fz-cat-title,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title:link,
.fz-cat-card > .tcat.fz-cat a.fz-cat-title:visited,
.tcat.fz-cat a.fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited,
table td.tcat[width="100%"], table td.tcat[width="100%"] a,
table td.tcat[width="100%"] a:link, table td.tcat[width="100%"] a:visited {
  color: #ffffff !important;
}
.tcat a:hover, .tcat .fz-cat-title:hover, .fz-cat-card > .tcat.fz-cat a.fz-cat-title:hover,
.tcat.fz-cat a.fz-cat-title:hover, table td.tcat[width="100%"] a:hover {
  color: var(--fz-accent) !important;
}
.fz-cat-desc, .tcat .fz-cat-desc, .tcat.fz-cat .fz-cat-desc, .fz-cat-card > .tcat .fz-cat-desc,
table td.tcat[width="100%"] .normal { color: rgba(255,255,255,.66) !important; }
.fz-cat-collapse::after { border-color: rgba(255,255,255,.75) !important; }
.fz-cat-collapse:hover::after { border-color: var(--fz-accent) !important; }

/* ---------- Второстепенный текст чуть крупнее (места хватает) ---------- */
/* главная */
body:not(:has(#threadslist)) .fz-fdesc { font-size: 14.5px !important; line-height: 1.5 !important; }
.fz-fsubforums .fz-fsublabel { font-size: 13px !important; }
.fz-sub-t { font-size: 14.5px !important; }
.fz-sub-n { font-size: 12.5px !important; }
.fz-fmods { font-size: 13.5px !important; }
td.fz-fcell-last .smallfont > div:nth-child(2),
td.fz-fcell-last .smallfont > div:last-child, td.fz-fcell-last .time { font-size: 13.5px !important; }
.fz-fcell-cap { font-size: 13px !important; }
tr.fz-colhead > td.thead { font-size: 13px !important; }
.fz-cat-desc, .tcat.fz-cat .fz-cat-desc { font-size: 13.5px !important; }

/* список тем в разделе */
body:has(#threadslist) .fz-fdesc { font-size: 14px !important; }
.fz-th-author { font-size: 13.5px !important; }
.fz-th-pages { font-size: 13px !important; }
.fz-th-stat { font-size: 12.5px !important; }
.fz-th-stat b { font-size: 15px !important; }
td.fz-th-stats .fz-fcell-cap, td.fz-th-stats .fz-th-cap { font-size: 13px !important; }
.fz-th-last-name { font-size: 14px !important; }
.fz-th-last-date { font-size: 13px !important; }
.fz-th-note, .fz-th-mod { font-size: 13px !important; }

/* страница темы */
.fz-post-date { font-size: 13px !important; }
.fz-post-head-right, .fz-post-head-right a { font-size: 13px !important; }
td.fz-author > .fz-online, td.fz-author > font { font-size: 13px !important; }
.fz-author-title { font-size: 14px !important; }
.fz-author-rank { font-size: 13.5px !important; }
.fz-author-gifts { font-size: 13.5px !important; }
.fz-msg-title { font-size: 13.5px !important; }
.fz-msg-attach, .fz-msg-attach .smallfont { font-size: 13.5px !important; }
td.fz-post-foot-left, td.fz-post-foot-right, .fz-post-foot .smallfont { font-size: 13px !important; }
.fz-sig, .signature, div[id^="post_message_"] + .fz-sig { font-size: 13.5px !important; }

/* профиль участника и прочие страницы на стандартных классах vB */
.smallfont { font-size: 13.5px !important; }
.smallfont .time, .time { font-size: inherit !important; }
td.fz-fcell-last .smallfont > div:first-child { font-size: 14.5px !important; }
fieldset.fieldset, .fieldset, .fieldset td, .fieldset .smallfont { font-size: 13.5px !important; }
#profile_tabs, .profile_content, #view-aboutme, #view-stats, #view-friends, #view-contactinfo { font-size: 14.5px !important; }
.profile_content .smallfont, .profile_content td { font-size: 13.5px !important; }
.bigusername { font-size: 19px !important; }
/* исключения: там, где мы задавали размер явно, ничего не ломаем */
.fz-author-name a.bigusername { font-size: 15px !important; }
.pagenav a, .pagenav td.alt1 a, .pagenav td.alt2 a, .pagenav td > span.smallfont { font-size: 13.5px !important; }
/* колонка «ответов / просмотров» — шире, подписи не рвутся */
td.fz-th-stats { flex: 0 0 124px !important; gap: 3px !important; }
.fz-th-stat { white-space: nowrap !important; }
@media (max-width: 900px) {
  td.fz-th-stats { flex: 0 0 150px !important; gap: 8px !important; }
  .fz-th-stat { font-size: 11.5px !important; }
}

/* ---------- строки разделов и тем — сероватые, а не белые ---------- */
.fz-cat-card { background: #f3f3f2 !important; }
tr.fz-forumrow, tr.fz-threadrow { background: #f4f4f3 !important; border-bottom: 1px solid #e1e1df !important; }
tr.fz-forumrow:hover, tr.fz-threadrow:hover { background: #ebebe9 !important; }
tr.fz-colhead, .fz-cat-card tr.fz-colhead, table.tborder > tbody > tr.fz-colhead {
  background: #e9e9e7 !important; border-bottom: 1px solid #d9d9d7 !important;
}
td.thead, .thead, tr.fz-colhead > td.thead { background: #e9e9e7 !important; }
.tfoot, td.tfoot, div.tfoot { background: #e9e9e7 !important; border-top: 1px solid #d9d9d7 !important; }
/* вертикальный разделитель перед последним сообщением — чуть заметнее на сером */
td.fz-fcell-last { border-left-color: #d9d9d7 !important; }
td.fz-th-last { border-left-color: #d9d9d7 !important; }

/* ---------- Визитка крупнее: и блок, и шрифт ---------- */
@media (min-width: 761px) {
  table.fz-post td.fz-author, td.fz-author {
    width: 244px !important; min-width: 244px !important; max-width: 244px !important;
    padding: 12px 14px 14px !important;
  }
}
.fz-author-name { font-size: 17px !important; margin-bottom: 3px !important; }
.fz-author-name a.bigusername, .fz-author-name a { font-size: 17px !important; }
td.fz-author > .fz-online, td.fz-author > font { font-size: 13.5px !important; }
.fz-author-title { font-size: 15px !important; margin-bottom: 3px !important; }
.fz-author-rank { font-size: 14px !important; }
.fz-author-ava { margin: 10px auto 12px !important; }
.fz-author-ava img, .fz-author-ava img.fz-ava-img, .fz-ava-stub {
  width: 76px !important; height: 76px !important; font-size: 26px !important;
}
.fz-author-stats { font-size: 15.5px !important; line-height: 1.6 !important; padding-top: 10px !important; }
.fz-author-stats .fz-stat { padding: 3px 0 !important; }
.fz-author-stats .fz-stat > span:first-child { font-size: 15px !important; }
.fz-author-stats .fz-stat b { font-size: 15.5px !important; }
.fz-author-gifts { font-size: 14px !important; }
/* страна: флаг и название рядом, по центру, а не по разным краям */
.fz-author-stats .fz-stat.fz-stat-country {
  justify-content: center !important; gap: 8px !important;
  margin-top: 8px !important; padding-top: 8px !important;
}
.fz-author-stats .fz-stat-country b { font-size: 15px !important; }
.fz-author-stats .fz-stat-country img.fz-flag { width: 22px !important; }
.fz-vk { font-size: 13.5px !important; padding: 4px 14px !important; }
@media (min-width: 761px) and (max-width: 1000px) {
  table.fz-post td.fz-author, td.fz-author {
    width: 216px !important; min-width: 216px !important; max-width: 216px !important;
  }
  .fz-author-stats { font-size: 14.5px !important; }
  .fz-author-stats .fz-stat > span:first-child { font-size: 14px !important; }
  .fz-author-stats .fz-stat b { font-size: 14.5px !important; }
}

/* ---------- ещё на тон серее ---------- */
.fz-cat-card { background: #ededec !important; border-color: #d4d4d2 !important; }
tr.fz-forumrow, tr.fz-threadrow { background: #efefee !important; border-bottom: 1px solid #dadad8 !important; }
tr.fz-forumrow:hover, tr.fz-threadrow:hover { background: #e4e4e2 !important; }
tr.fz-colhead, .fz-cat-card tr.fz-colhead, table.tborder > tbody > tr.fz-colhead {
  background: #e2e2e0 !important; border-bottom: 1px solid #d0d0ce !important;
}
td.thead, .thead, tr.fz-colhead > td.thead { background: #e2e2e0 !important; }
.tfoot, td.tfoot, div.tfoot { background: #e2e2e0 !important; border-top: 1px solid #d0d0ce !important; }
td.fz-fcell-last, td.fz-th-last { border-left-color: #d0d0ce !important; }
/* посты — в ту же гамму */
table.fz-post { border-color: #d4d4d2 !important; }
table.fz-post td.fz-post-head, table.fz-post td.fz-post-foot-left, table.fz-post td.fz-post-foot-right { background: #e6e6e4 !important; }
table.fz-post td.fz-author { background: #efefee !important; border-right-color: #dadad8 !important; }

/* ==========================================================================
   Классическая vB-раскраска: колонки чередуются alt1 #f1f1f1 / alt2 #f6f6f6,
   между ними тонкая сетка. Отступы переезжают из строки внутрь ячеек,
   чтобы заливка шла сплошняком без зазоров.
   ========================================================================== */
:root { --alt1: #f1f1f1; --alt2: #f6f6f6; --grid: #d9d9d9; --alt-hover: #e8e8e8; --alt-head: #e5e5e5; }

.fz-cat-card { background: var(--alt1) !important; border-color: #cfcfcf !important; }

/* ---- строка раздела ---- */
tr.fz-forumrow, table.tborder > tbody > tr.fz-forumrow,
body:not(:has(#threadslist)) tr.fz-forumrow, body:has(#threadslist) tr.fz-forumrow {
  padding: 0 !important; gap: 0 !important;
  background: var(--alt1) !important;
  border-bottom: 1px solid var(--grid) !important;
}
tr.fz-forumrow > td { box-sizing: border-box !important; }
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon {
  flex: 0 0 74px !important; width: 74px !important;
  padding: 10px 14px !important; justify-content: center !important;
  background: var(--alt2) !important;
}
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-main, tr.fz-forumrow > td.fz-fcell-main {
  padding: 10px 14px !important; background: var(--alt1) !important;
}
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-last, tr.fz-forumrow > td.fz-fcell-last {
  padding: 10px 14px !important; background: var(--alt2) !important;
  border-left: 1px solid var(--grid) !important;
}
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num, tr.fz-forumrow > td.fz-fcell-num {
  padding: 10px 6px !important; border-left: 1px solid var(--grid) !important;
  background: var(--alt1) !important;
}
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num + td.fz-fcell-num,
tr.fz-forumrow > td.fz-fcell-num + td.fz-fcell-num { background: var(--alt2) !important; }
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod, tr.fz-forumrow > td.fz-fcell-mod,
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)), tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)) {
  padding: 10px 8px !important; border-left: 1px solid var(--grid) !important;
  background: var(--alt1) !important;
}
/* наведение — вся строка одним цветом */
tr.fz-forumrow:hover, tr.fz-forumrow:hover > td,
table.tborder > tbody > tr.fz-forumrow:hover > td { background: var(--alt-hover) !important; }

/* ---- шапка колонок: та же сетка ---- */
tr.fz-colhead, .fz-cat-card tr.fz-colhead, table.tborder > tbody > tr.fz-colhead {
  padding: 0 !important; gap: 0 !important;
  background: var(--alt-head) !important; border-bottom: 1px solid var(--grid) !important;
}
tr.fz-colhead > td.thead { background: var(--alt-head) !important; padding: 7px 14px !important; }
tr.fz-colhead > td.fz-ch-icon { flex: 0 0 74px !important; }
tr.fz-colhead > td.fz-ch-last { padding-left: 14px !important; border-left: 1px solid var(--grid) !important; }
tr.fz-colhead > td.fz-ch-num  { padding: 7px 6px !important; border-left: 1px solid var(--grid) !important; }
tr.fz-colhead > td.fz-ch-mod  { padding: 7px 8px !important; border-left: 1px solid var(--grid) !important; }

/* ширины колонок (отступы теперь внутри ячеек) */
@media (min-width: 1100px) {
  td.fz-fcell-last, tr.fz-colhead > td.fz-ch-last {
    flex: 0 0 262px !important; width: 262px !important; max-width: 262px !important;
  }
  td.fz-fcell-num, tr.fz-colhead > td.fz-ch-num { flex: 0 0 104px !important; width: 104px !important; }
  td.fz-fcell-mod, tr.fz-colhead > td.fz-ch-mod { flex: 0 0 150px !important; width: 150px !important; }
}
@media (max-width: 1099px) {
  td.fz-fcell-last, tr.fz-colhead > td.fz-ch-last { flex-basis: 214px !important; width: 214px !important; max-width: 214px !important; }
  td.fz-fcell-num, tr.fz-colhead > td.fz-ch-num { flex: 0 0 92px !important; width: 92px !important; }
}
@media (max-width: 760px) {
  tr.fz-forumrow > td.fz-fcell-last { border-left: 0 !important; border-top: 1px solid var(--grid) !important; margin-top: 0 !important; }
  tr.fz-forumrow > td.fz-fcell-num { border-top: 1px solid var(--grid) !important; }
}

/* подвал блока и служебные полосы */
.tfoot, td.tfoot, div.tfoot { background: var(--alt-head) !important; border-top: 1px solid var(--grid) !important; }
td.thead, .thead { background: var(--alt-head) !important; }

/* ---- список тем в разделе ---- */
tr.fz-threadrow, table.tborder > tbody > tr.fz-threadrow {
  padding: 0 !important; gap: 0 !important;
  background: var(--alt1) !important; border-bottom: 1px solid var(--grid) !important;
}
tr.fz-threadrow > td { box-sizing: border-box !important; }
table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon {
  flex: 0 0 46px !important; padding: 9px 12px !important; background: var(--alt2) !important;
  display: flex !important; align-items: center; justify-content: center;
}
table.tborder > tbody > tr.fz-threadrow > td.fz-th-main, tr.fz-threadrow > td.fz-th-main {
  padding: 9px 14px !important; background: var(--alt1) !important;
}
table.tborder > tbody > tr.fz-threadrow > td.fz-th-stats, tr.fz-threadrow > td.fz-th-stats {
  padding: 9px 8px !important; background: var(--alt2) !important; border-left: 1px solid var(--grid) !important;
}
table.tborder > tbody > tr.fz-threadrow > td.fz-th-last, tr.fz-threadrow > td.fz-th-last {
  padding: 9px 14px !important; background: var(--alt1) !important; border-left: 1px solid var(--grid) !important;
}
tr.fz-threadrow:hover, tr.fz-threadrow:hover > td,
table.tborder > tbody > tr.fz-threadrow:hover > td { background: var(--alt-hover) !important; }
@media (min-width: 1100px) {
  td.fz-th-stats { flex: 0 0 140px !important; }
  td.fz-th-last { flex: 0 0 236px !important; }
}
/* на узких экранах строка складывается в столбик — чередование по колонкам
   превращается в заплатки, поэтому там всё одним цветом */
@media (max-width: 760px) {
  tr.fz-forumrow > td, table.tborder > tbody > tr.fz-forumrow > td,
  tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-last,
  tr.fz-forumrow > td.fz-fcell-num, tr.fz-forumrow > td.fz-fcell-num + td.fz-fcell-num,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-last,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num + td.fz-fcell-num {
    background: var(--alt1) !important; border-left: 0 !important; border-top: 0 !important;
  }
  tr.fz-forumrow { padding: 8px 12px !important; }
  tr.fz-forumrow > td.fz-fcell-icon, table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon { padding: 0 8px 0 0 !important; flex-basis: auto !important; width: auto !important; }
  tr.fz-forumrow > td.fz-fcell-main, table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-main { padding: 0 !important; }
  tr.fz-forumrow > td.fz-fcell-last, table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-last { padding: 8px 0 0 !important; border-top: 1px solid var(--grid) !important; }
  tr.fz-forumrow > td.fz-fcell-num, table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num { padding: 8px 0 0 !important; }
  tr.fz-threadrow > td, table.tborder > tbody > tr.fz-threadrow > td,
  tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-stats, tr.fz-threadrow > td.fz-th-last,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-stats,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-last {
    background: var(--alt1) !important; border-left: 0 !important;
  }
  tr.fz-threadrow { padding: 8px 12px !important; }
  tr.fz-threadrow > td.fz-th-icon, table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon { padding: 0 8px 0 0 !important; flex-basis: auto !important; }
  tr.fz-threadrow > td.fz-th-main, table.tborder > tbody > tr.fz-threadrow > td.fz-th-main { padding: 0 !important; }
  tr.fz-threadrow > td.fz-th-stats, tr.fz-threadrow > td.fz-th-last,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-stats,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-last { padding: 6px 0 0 !important; }
}

/* ячейки тянутся на всю высоту строки — заливка колонок сплошная */
tr.fz-forumrow, table.tborder > tbody > tr.fz-forumrow,
body:not(:has(#threadslist)) tr.fz-forumrow, body:has(#threadslist) tr.fz-forumrow,
tr.fz-threadrow, table.tborder > tbody > tr.fz-threadrow,
tr.fz-colhead, .fz-cat-card tr.fz-colhead, table.tborder > tbody > tr.fz-colhead {
  align-items: stretch !important;
}
tr.fz-forumrow > td, table.tborder > tbody > tr.fz-forumrow > td,
tr.fz-threadrow > td, table.tborder > tbody > tr.fz-threadrow > td,
tr.fz-colhead > td {
  align-self: stretch !important; height: auto !important; min-height: 0 !important;
}
/* содержимое внутри — по центру по вертикали, как и было */
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num, tr.fz-forumrow > td.fz-fcell-num,
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod, tr.fz-forumrow > td.fz-fcell-mod,
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon,
table.tborder > tbody > tr.fz-threadrow > td.fz-th-stats, tr.fz-threadrow > td.fz-th-stats,
table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon {
  display: flex !important; justify-content: center !important;
}
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon,
table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon { align-items: flex-start !important; }
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-last, tr.fz-forumrow > td.fz-fcell-last,
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-main, tr.fz-forumrow > td.fz-fcell-main,
table.tborder > tbody > tr.fz-threadrow > td.fz-th-last, tr.fz-threadrow > td.fz-th-last,
table.tborder > tbody > tr.fz-threadrow > td.fz-th-main, tr.fz-threadrow > td.fz-th-main {
  display: flex !important; flex-direction: column !important; justify-content: center !important;
}
tr.fz-colhead > td.thead { display: flex !important; align-items: center !important; }
tr.fz-colhead > td.fz-ch-num, tr.fz-colhead > td.fz-ch-mod { justify-content: center !important; }

/* значок и название раздела — одна колонка, один цвет */
table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon {
  background: var(--alt1) !important; padding-right: 0 !important;
}
tr.fz-colhead > td.fz-ch-main { border-left: 0 !important; }
tr.fz-colhead > td.fz-ch-icon { border-right: 0 !important; }
/* то же в списке тем: значок темы сливается с колонкой названия */
table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon {
  background: var(--alt1) !important; padding-right: 0 !important;
}

/* ---------- Непрочитанное — тёмно-рыжий #8e3a16 (с образца) ---------- */
:root { --fz-unread: #8e3a16; }
/* список тем: заголовок темы с непрочитанными */
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:link,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:visited {
  color: var(--fz-unread) !important; font-weight: 700 !important;
}
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:hover { color: var(--fz-accent-dark) !important; }
/* главная: раздел с непрочитанным (значок forum_new) — название раздела и последняя тема */
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:link,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:visited,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:link,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:visited,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a strong {
  color: var(--fz-unread) !important;
}
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:hover,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:hover { color: var(--fz-accent-dark) !important; }
/* подразделы с новыми */
a.fz-sub.is-new, a.fz-sub.is-new .fz-sub-t { color: var(--fz-unread) !important; }
a.fz-sub.is-new .fz-sub-dot { background: var(--fz-unread) !important; box-shadow: 0 0 0 3px rgba(142,58,22,.14) !important; }
/* бейдж «Новое» — в ту же гамму */
.fz-th-new .fzb, .fz-th-new span.fzb {
  color: var(--fz-unread) !important; border-color: rgba(142,58,22,.45) !important; background: rgba(142,58,22,.06) !important;
}
/* название раздела не подкрашиваем — только темы */
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:link,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:visited { color: #111214 !important; }
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:hover { color: var(--fz-accent-dark) !important; }

/* ---------- Кнопка «к последнему сообщению» — синий квадратик, как в старом стиле ---------- */
td.fz-fcell-last .smallfont > div:last-child a[href*="#post"] {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 16px; height: 16px; margin-left: 5px; vertical-align: -3px;
  border-radius: 2px;
  background: linear-gradient(180deg, #4d95dc 0%, #2f6fbf 100%);
  border: 1px solid #1f4f8f;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
  box-sizing: border-box; text-decoration: none !important;
  transition: background .12s, transform .1s;
}
td.fz-fcell-last .smallfont > div:last-child a[href*="#post"]::before {
  content: ""; width: 5px; height: 5px;
  border-right: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: translateX(-1px) rotate(-45deg);
}
td.fz-fcell-last .smallfont > div:last-child a[href*="#post"]:hover {
  background: linear-gradient(180deg, #ff9a45 0%, #ec6810 100%);
  border-color: #b94f08;
}
td.fz-fcell-last .smallfont > div:last-child a[href*="#post"]:active { transform: translateY(1px); }

/* тот же квадратик в списке тем вместо серой стрелки */
.fz-th-last-arrow {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 16px !important; height: 16px !important; font-size: 0 !important; line-height: 0 !important;
  color: transparent !important; border-radius: 2px;
  background: linear-gradient(180deg, #4d95dc 0%, #2f6fbf 100%);
  border: 1px solid #1f4f8f; box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
  box-sizing: border-box; flex: 0 0 16px;
  transform: none !important;
}
.fz-th-last-arrow::before {
  content: ""; width: 5px; height: 5px;
  border-right: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: translateX(-1px) rotate(-45deg);
}
.fz-th-last-link:hover .fz-th-last-arrow {
  background: linear-gradient(180deg, #ff9a45 0%, #ec6810 100%);
  border-color: #b94f08; transform: none !important;
}

/* ---------- узкие экраны: правки поверх сплошной заливки ---------- */
@media (max-width: 1080px) {
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)),
  tr.fz-forumrow > td.fz-fcell-mod, tr.fz-forumrow > td.fz-fcell-mod:not(:has(a)) { display: none !important; }
}
@media (max-width: 760px) {
  table.tborder > tbody > tr.fz-forumrow, tr.fz-forumrow,
  body:not(:has(#threadslist)) tr.fz-forumrow, body:has(#threadslist) tr.fz-forumrow { padding: 10px 12px !important; }
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon {
    padding: 0 10px 0 0 !important; flex: 0 0 auto !important; width: auto !important;
  }
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-main, tr.fz-forumrow > td.fz-fcell-main { padding: 0 !important; }
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-last, tr.fz-forumrow > td.fz-fcell-last {
    padding: 8px 0 0 !important; border-left: 0 !important; border-top: 1px solid var(--grid) !important;
  }
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num, tr.fz-forumrow > td.fz-fcell-num,
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-num + td.fz-fcell-num {
    padding: 8px 0 0 !important; border-left: 0 !important; border-top: 0 !important;
  }
  table.tborder > tbody > tr.fz-threadrow, tr.fz-threadrow { padding: 9px 12px !important; }
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon { padding: 0 10px 0 0 !important; flex: 0 0 auto !important; }
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-main, tr.fz-threadrow > td.fz-th-main { padding: 0 !important; }
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-stats, tr.fz-threadrow > td.fz-th-stats,
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-last, tr.fz-threadrow > td.fz-th-last { padding: 6px 0 0 !important; border-left: 0 !important; }
}
/* непрочитанные темы — тем же тёмно-оранжевым, что и наведение на ссылку */
:root { --fz-unread: var(--fz-accent-dark); }
.fz-th-new .fzb, .fz-th-new span.fzb {
  border-color: rgba(236,104,16,.45) !important; background: rgba(236,104,16,.07) !important;
}
a.fz-sub.is-new .fz-sub-dot { box-shadow: 0 0 0 3px rgba(236,104,16,.16) !important; }

/* ---------- Наведение на ссылки — синий #225390 (с образца) ---------- */
:root { --fz-hover: #225390; }
div.page a:hover:not(.fzb):not(.fz-btn):not(.fz-cat-title):not(.fzh-mlink):not([class*="btn"]) { color: var(--fz-hover) !important; }
.fz-ftitle a:hover, a.fz-sub:hover, a.fz-sub:hover .fz-sub-t, a.fz-sub:hover .fz-sub-n,
td.fz-fcell-last a:hover, td.fz-fcell-last a:hover strong,
.fz-th-title:hover, a.fz-th-title:hover,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:hover,
.fz-th-last-link:hover .fz-th-last-name,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) .fz-ftitle a:hover,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:hover,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:hover strong,
.fz-fmods a:hover, .tfoot a:hover, .fz-author-name a:hover, .fz-lp-row .fz-c-u a:hover, .fz-lp-row .fz-c-f a:hover {
  color: var(--fz-hover) !important;
}

/* дата и кнопка «к последнему» — по правому краю, как в старом стиле */
td.fz-fcell-last .smallfont > div:last-child {
  text-align: right !important; align-self: stretch !important; width: 100% !important;
  display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 4px;
}
td.fz-fcell-last .smallfont > div:last-child a[href*="#post"] { margin-left: 4px; vertical-align: 0; }
/* список тем: дата и квадратик тоже вправо */
.fz-th-last-link { display: flex !important; align-items: center !important; }
.fz-th-last-body { flex: 1 1 auto !important; min-width: 0 !important; }
.fz-th-last-date { display: block !important; text-align: right !important; }
.fz-th-last-arrow { margin-left: 6px !important; align-self: flex-end !important; }

/* непрочитанные темы пока не выделяем — чёрным, как всё остальное */
:root { --fz-unread: #111214; }
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:link,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:visited { color: #111214 !important; font-weight: 500 !important; }
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:link,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:visited,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a strong { color: #111214 !important; }
a.fz-sub.is-new, a.fz-sub.is-new .fz-sub-t { color: #111214 !important; }
a.fz-sub.is-new .fz-sub-dot { background: var(--fz-accent-dark) !important; box-shadow: 0 0 0 3px rgba(236,104,16,.16) !important; }

/* колонка значка: линия справа, значок по центру ячейки */
@media (min-width: 761px) {
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon, tr.fz-forumrow > td.fz-fcell-icon {
    padding: 10px 12px !important; flex: 0 0 74px !important; width: 74px !important;
    border-right: 1px solid var(--grid) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  table.tborder > tbody > tr.fz-forumrow > td.fz-fcell-icon img, tr.fz-forumrow > td.fz-fcell-icon img { margin: 0 auto !important; }
  tr.fz-colhead > td.fz-ch-icon { border-right: 1px solid var(--grid) !important; }
  table.tborder > tbody > tr.fz-threadrow > td.fz-th-icon, tr.fz-threadrow > td.fz-th-icon {
    padding: 9px 12px !important; border-right: 1px solid var(--grid) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
}

/* ---------- Подразделы: родной значок стиля вместо точки ---------- */
a.fz-sub .fz-sub-dot, .fz-sub-dot {
  display: inline-block !important; width: 11px !important; height: 11px !important;
  margin: 0 5px 0 0 !important; vertical-align: -1px !important;
  border-radius: 0 !important; box-shadow: none !important;
  background: url("../../images/Infusion/statusicon/subforum_old.gif") no-repeat center / 11px 11px !important;
}
a.fz-sub.is-new .fz-sub-dot {
  background: url("../../images/Infusion/statusicon/subforum_new.gif") no-repeat center / 11px 11px !important;
  box-shadow: none !important;
}
.fz-fsubforums { line-height: 1.5 !important; }

/* ---------- Значок подраздела перерисован в SVG — чёткий на любом экране ---------- */
a.fz-sub .fz-sub-dot, .fz-sub-dot {
  width: 12px !important; height: 12px !important; vertical-align: -1px !important;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"%3E%3Cdefs%3E%3ClinearGradient id="g" x1="0" y1="0" x2="1" y2="1"%3E%3Cstop offset="0" stop-color="#eef0fa"/%3E%3Cstop offset="1" stop-color="#b9bedb"/%3E%3C/linearGradient%3E%3ClinearGradient id="h" x1="0" y1="0" x2="0" y2="1"%3E%3Cstop offset="0" stop-color="#ffffff" stop-opacity=".9"/%3E%3Cstop offset="1" stop-color="#ffffff" stop-opacity="0"/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x=".5" y=".5" width="11" height="11" rx="2" fill="url(#g)" stroke="#6b78ad"/%3E%3Crect x="2" y="2" width="8" height="4" rx="1" fill="url(#h)"/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
}
a.fz-sub.is-new .fz-sub-dot {
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"%3E%3Cdefs%3E%3ClinearGradient id="g" x1="0" y1="0" x2="0" y2="1"%3E%3Cstop offset="0" stop-color="#ffe97a"/%3E%3Cstop offset="1" stop-color="#ff9a1f"/%3E%3C/linearGradient%3E%3ClinearGradient id="h" x1="0" y1="0" x2="0" y2="1"%3E%3Cstop offset="0" stop-color="#ffffff" stop-opacity=".85"/%3E%3Cstop offset="1" stop-color="#ffffff" stop-opacity="0"/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x=".5" y=".5" width="11" height="11" rx="2" fill="url(#g)" stroke="#6b78ad"/%3E%3Crect x="2" y="2" width="8" height="4" rx="1" fill="url(#h)"/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
}

/* карточка чата — как блок форума */
.fz-chat-card { background: #f6f6f6 !important; border: 1px solid #cfcfcf !important; border-radius: 2px !important; }
.fz-chat-frame { background: #f6f6f6 !important; }
.fz-chat-resizer { background: #e5e5e5 !important; border-top: 1px solid #d9d9d9 !important; }

/* названия категорий («Главные форумы», «Ордена Force-Zone»…) крупнее */
.tcat.fz-cat { padding: 10px 16px !important; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited,
.fz-cat-card > .tcat.fz-cat .fz-cat-title, .fz-cat-card > .tcat.fz-cat a.fz-cat-title {
  font-size: 18px !important; font-weight: 700 !important; letter-spacing: 0 !important;
}
.tcat.fz-cat .fz-cat-desc { font-size: 14px !important; }
/* категории: 16px, плашка компактнее */
.tcat.fz-cat { padding: 7px 16px !important; line-height: 1.25 !important; }
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited,
.fz-cat-card > .tcat.fz-cat .fz-cat-title, .fz-cat-card > .tcat.fz-cat a.fz-cat-title { font-size: 16px !important; }
.tcat.fz-cat .fz-cat-desc { font-size: 13px !important; }
.tcat.fz-cat { min-height: 0 !important; height: auto !important; }

/* ---------- Статистика: слева разделы + участники столбиком, справа 12 последних тем ---------- */
.fz-top5-grid {
  grid-template-columns: minmax(280px, 1fr) 2.4fr !important;
  background: #f6f6f6 !important; border: 0 !important; border-radius: 0 !important;
}
.fz-top5-left { min-width: 0; border-right: 1px solid var(--grid); display: flex; flex-direction: column; }
.fz-top5-left .fz-top5-col + .fz-top5-col { border-left: 0 !important; border-top: 1px solid var(--grid); }
.fz-top5-col + .fz-top5-col { border-left: 0 !important; }
.fz-top5-sub, .thead.fz-top5-sub { background: #e5e5e5 !important; border-bottom: 1px solid var(--grid) !important; color: #17181a !important; font-size: 13px !important; padding: 6px 12px !important; }
.fz-top5-row { background: transparent !important; border-bottom: 0 !important; padding: 4px 12px !important; }
.fz-top5-row:hover { background: #e8e8e8 !important; }
.fz-lp-ico { flex: 0 0 12px; margin-right: 0 !important; }
.fz-lp-row .fz-c-t { font-size: 14px; }
.fz-lp-row .fz-c-t a { color: #111214 !important; }
.fz-lp-row .fz-c-d, .fz-lp-row .fz-c-vr, .fz-lp-row .fz-c-f { font-size: 13px !important; color: #333 !important; }
.fz-lp-row .fz-c-f { flex: 0 0 180px !important; width: 180px !important; }
.fz-lp-row .fz-c-f a { color: #333 !important; }
.fz-lp-row a.fz-c-go {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 16px; height: 16px; margin-left: 6px; padding: 0 !important; font-size: 0 !important;
  border-radius: 2px; background: linear-gradient(180deg, #4d95dc 0%, #2f6fbf 100%);
  border: 1px solid #1f4f8f; box-shadow: inset 0 1px 0 rgba(255,255,255,.35); box-sizing: border-box;
  vertical-align: -3px;
}
.fz-lp-row a.fz-c-go::before { content: ""; width: 5px; height: 5px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateX(-1px) rotate(-45deg); }
.fz-lp-row a.fz-c-go:hover { background: linear-gradient(180deg, #ff9a45 0%, #ec6810 100%); border-color: #b94f08; }
@media (max-width: 1000px) {
  .fz-top5-grid { grid-template-columns: 1fr !important; }
  .fz-top5-left { border-right: 0; border-bottom: 1px solid var(--grid); flex-direction: row; }
  .fz-top5-left .fz-top5-col { flex: 1 1 50%; }
  .fz-top5-left .fz-top5-col + .fz-top5-col { border-top: 0; border-left: 1px solid var(--grid) !important; }
  .fz-top5-wide { border-top: 0 !important; }
}
.fz-lp-row .fz-c-t .fz-lp-ico { display: inline-block !important; margin: 0 6px 0 0 !important; vertical-align: -1px !important; }

/* ---------- Последние сообщения: фиксированные колонки, ничего не ползёт ---------- */
@media (min-width: 1001px) {
  .fz-top5-wide { padding-left: 4px; }
  .fz-top5-wide .fz-top5-sub { padding-left: 18px !important; }
  .fz-top5-wide .fz-lp-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px 44px 150px 140px 200px;
    align-items: center;
    gap: 0 12px !important;
    padding: 4px 14px 4px 18px !important;
  }
  .fz-lp-row .fz-c-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .fz-lp-row .fz-c-vr { display: contents !important; }
  .fz-lp-row .fz-c-vr i { text-align: right; padding: 0 !important; border: 0 !important; font-style: normal; color: #333; font-variant-numeric: tabular-nums; }
  .fz-lp-row .fz-c-vr b { text-align: right; padding: 0 !important; color: #111214; font-variant-numeric: tabular-nums; }
  .fz-lp-row .fz-c-u { max-width: none !important; display: flex !important; align-items: center; justify-content: flex-start; gap: 6px; overflow: hidden; }
  .fz-lp-row .fz-c-u a:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .fz-lp-row a.fz-c-go { margin-left: 0 !important; flex: 0 0 16px; }
  .fz-lp-row .fz-c-d { text-align: left; font-variant-numeric: tabular-nums; }
  .fz-lp-row .fz-c-f { width: auto !important; flex: none !important; text-align: right; }
}
@media (min-width: 1001px) and (max-width: 1300px) {
  .fz-top5-wide .fz-lp-row { grid-template-columns: minmax(0, 1fr) 64px 40px 120px 130px 150px; }
}
/* кнопка «к последнему» — своей колонкой, в одну линию */
@media (min-width: 1001px) {
  .fz-top5-wide .fz-lp-row { grid-template-columns: minmax(0, 1fr) 72px 44px 130px 16px 140px 200px; }
  .fz-lp-row .fz-c-u { display: contents !important; }
  .fz-lp-row .fz-c-u > a:first-child { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
  .fz-lp-row a.fz-c-go { margin: 0 !important; }
}
@media (min-width: 1001px) and (max-width: 1300px) {
  .fz-top5-wide .fz-lp-row { grid-template-columns: minmax(0, 1fr) 64px 40px 110px 16px 130px 150px; }
}

/* статистика: разделы чёрным, ники — в цвет группы (inline-цвет из opentag), без группы — чёрным */
.fz-top5-col:not(.fz-top5-wide) .fz-top5-row .fz-c-t a,
.fz-top5-col:not(.fz-top5-wide) .fz-top5-row .fz-c-t a:link,
.fz-top5-col:not(.fz-top5-wide) .fz-top5-row .fz-c-t a:visited { color: #111214 !important; }
.fz-lp-row .fz-c-u a:first-child, .fz-lp-row .fz-c-u a:first-child:link, .fz-lp-row .fz-c-u a:first-child:visited { color: #111214 !important; }
.fz-top5-row .fz-c-t a span[style], .fz-lp-row .fz-c-u a span[style] { font-weight: 600; }
.fz-top5-row .fz-c-t a:hover span[style], .fz-lp-row .fz-c-u a:hover span[style] { color: var(--fz-hover) !important; }
/* статистика: номера строк и счётчики — чёрным */
.fz-top5-row .fz-c-n, .fz-top5-row .fz-c-v, .fz-top5-row .fz-c-v a,
.fz-top5-row:first-child .fz-c-n, .fz-top5-row .fz-c-n:first-child,
.fz-lp-row .fz-c-vr i, .fz-lp-row .fz-c-vr b { color: #111214 !important; }

/* ---------- Значок подраздела: SVG (исправлено — прошлый вариант ломал CSS кавычками) ---------- */
a.fz-sub .fz-sub-dot, .fz-sub-dot, .fz-lp-ico {
  width: 12px !important; height: 12px !important; vertical-align: -1px !important;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23eef0fa'/%3E%3Cstop offset='1' stop-color='%23b9bedb'/%3E%3C/linearGradient%3E%3ClinearGradient id='h' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='11' height='11' rx='2' fill='url(%23g)' stroke='%236b78ad'/%3E%3Crect x='2' y='2' width='8' height='4' rx='1' fill='url(%23h)'/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
}
a.fz-sub.is-new .fz-sub-dot {
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffe97a'/%3E%3Cstop offset='1' stop-color='%23ff9a1f'/%3E%3C/linearGradient%3E%3ClinearGradient id='h' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23ffffff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='11' height='11' rx='2' fill='url(%23g)' stroke='%236b78ad'/%3E%3Crect x='2' y='2' width='8' height='4' rx='1' fill='url(%23h)'/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
}

/* ---------- Значок подраздела: полуоткрытая папка (SVG) ---------- */
a.fz-sub .fz-sub-dot, .fz-sub-dot, .fz-lp-ico {
  width: 16px !important; height: 14px !important; vertical-align: -2px !important;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23c7ccea'/%3E%3Cstop offset='1' stop-color='%238f99c9'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f4f5fc'/%3E%3Cstop offset='1' stop-color='%23c9cee8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1.5 2.5h4.2l1.4 1.5h7.4v8.5h-13z' fill='url(%23b)' stroke='%235f6ea6' stroke-linejoin='round'/%3E%3Cpath d='M3.6 6.3h11.9l-1.7 6.2h-12.3z' fill='url(%23f)' stroke='%235f6ea6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 16px 14px !important;
}
a.fz-sub.is-new .fz-sub-dot {
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f2c56a'/%3E%3Cstop offset='1' stop-color='%23d9932a'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff3b8'/%3E%3Cstop offset='1' stop-color='%23ffc85a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1.5 2.5h4.2l1.4 1.5h7.4v8.5h-13z' fill='url(%23b)' stroke='%23b07a1c' stroke-linejoin='round'/%3E%3Cpath d='M3.6 6.3h11.9l-1.7 6.2h-12.3z' fill='url(%23f)' stroke='%23b07a1c' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 16px 14px !important;
}
.fz-lp-row .fz-c-t .fz-lp-ico { margin-right: 7px !important; }
/* без зазора между графитовой плашкой и шапкой колонок */
.fz-cat-card > table.tborder, .fz-cat-card table.tborder, .fz-cat-card > .tcat + table.tborder { margin-top: 0 !important; }
.fz-cat-card > .tcat { margin-bottom: 0 !important; }
.fz-cat-card .fz-top5-grid { margin-top: 0 !important; }
.fz-chat-card > .tcat + *, .fz-chat-card .fz-chat-frame { margin-top: 0 !important; }

/* колобки в постах и подписях */
img.fz-kolobok { height: 22px; width: auto; vertical-align: -6px; margin: 0 1px; }
.fz-msg-body img.inlineimg, .fz-msg-body img[src*="images/smilies/"] { vertical-align: -6px; margin: 0 1px; }
/* подразделы: тем/сообщений */
.fz-sub-n i { font-style: normal; color: #b5b5b5; padding: 0 1px; }
/* меню пользователя: пункт «Забанить» */
.fzi-ban { -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><line x1='5.6' y1='5.6' x2='18.4' y2='18.4'/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><line x1='5.6' y1='5.6' x2='18.4' y2='18.4'/></svg>"); }
.fz-umenu .fz-umenu-danger a { color: #c0392b !important; }
.fz-umenu .fz-umenu-danger a .fzi { background-color: #c0392b !important; }
.fz-umenu .fz-umenu-danger { border-top: 1px solid #e4e4e2; }

/* ---------- Посты в теме — та же гамма, что на главной ---------- */
table.fz-post {
  background: var(--alt2) !important; border: 1px solid #cfcfcf !important;
  border-radius: 2px !important; box-shadow: none !important;
}
table.fz-post td.fz-post-head {
  background: var(--alt-head) !important; border-bottom: 1px solid var(--grid) !important;
  color: #17181a !important;
}
table.fz-post td.fz-post-head .fz-post-date { color: #17181a !important; }
table.fz-post td.fz-post-head a, table.fz-post td.fz-post-head-right a { color: #17181a !important; }
table.fz-post td.fz-author {
  background: var(--alt1) !important; border-right: 1px solid var(--grid) !important;
}
table.fz-post td.fz-msg { background: var(--alt2) !important; }
table.fz-post td.fz-post-foot-left, table.fz-post td.fz-post-foot-right {
  background: var(--alt-head) !important; border-top: 1px solid var(--grid) !important;
}
.fz-msg-title { border-bottom: 1px solid var(--grid) !important; color: #3a3a38 !important; }
.fz-author-stats { border-top: 1px solid #dcdcdc !important; }
.fz-author-stats .fz-stat-country { border-top-color: #dcdcdc !important; }
/* цитаты и код внутри поста — светлее фона, с тонкой рамкой */
.fz-msg-body blockquote, .fz-msg-body .fz-quote, .fz-msg-body .quote, .fz-msg-body .bbcode_container,
.fz-msg-body .bbcode_quote, .fz-msg-body .alt2[style] {
  background: #fbfbfb !important; border: 1px solid var(--grid) !important; border-left-width: 3px !important; border-radius: 2px !important;
}
.fz-msg-body pre, .fz-msg-body code, .fz-msg-body .bbcode_code, .fz-msg-body .fz-code {
  background: #ececeb !important; border: 1px solid var(--grid) !important; border-radius: 2px !important;
}
.fz-msg-attach, .fz-msg-attach fieldset { background: var(--alt1) !important; border: 1px solid var(--grid) !important; }
/* подпись */
.fz-sig, .signature { border-top: 1px solid var(--grid) !important; color: #4a4a48 !important; }
/* промежуток между постами */
div[id^="edit"] { padding-bottom: 10px !important; }
/* быстрый ответ и панели под темой */
#qrform table.tborder, .fz-qr, .fz-cat-card.fz-qr { background: var(--alt1) !important; border-color: #cfcfcf !important; }

/* ---------- Кнопка «Ответить» крупнее и в ряд с переключателем страниц ---------- */
.fz-thread-tools, .fz-topbar, .fz-thread-top { align-items: center !important; }


/* ---------- Без зазора между графитовой полосой и первым постом ---------- */
.fz-cat-card + table.fz-post, .tcat + table.fz-post, div.page table.fz-post:first-of-type { margin-top: 0 !important; }
#posts > div:first-child table.fz-post, #posts table.fz-post { margin-top: 0 !important; }
#posts { margin-top: 0 !important; padding-top: 0 !important; }
.fz-post-wrap:first-child { margin-top: 0 !important; }

/* ---------- Подвал поста — в цвет своих колонок, без отдельной подсветки ---------- */
table.fz-post td.fz-post-foot-left {
  background: var(--alt1) !important; border-top: 0 !important; border-right: 1px solid var(--grid) !important;
}
table.fz-post td.fz-post-foot-right { background: var(--alt2) !important; border-top: 0 !important; }

/* ---------- Кнопки репутации ---------- */
.fz-rep { display: inline-flex; align-items: center; gap: 4px; margin-right: 8px; vertical-align: middle; position: relative; }
.fz-rep-btn, a.fz-rep-btn, a.fz-rep-btn:link, a.fz-rep-btn:visited {
  display: inline-flex !important; align-items: center; justify-content: center;
  min-width: 34px; height: 24px; padding: 0 8px; font-size: 13px; font-weight: 700;
  border-radius: 2px; text-decoration: none !important; box-sizing: border-box;
  border: 1px solid; background: #fff;
}
a.fz-rep-plus, a.fz-rep-plus:link, a.fz-rep-plus:visited { color: #1f8f3a !important; border-color: #6cc283; }
a.fz-rep-plus:hover { background: #299447 !important; color: #fff !important; border-color: #1f7a38; }
a.fz-rep-minus, a.fz-rep-minus:link, a.fz-rep-minus:visited { color: #c0392b !important; border-color: #e0938a; }
a.fz-rep-minus:hover { background: #c0392b !important; color: #fff !important; border-color: #a12f22; }
.fz-rep.is-busy .fz-rep-btn { opacity: .5; pointer-events: none; }
.fz-rep.is-done .fz-rep-btn { opacity: .45; pointer-events: none; }
.fz-rep-form { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; }
.fz-rep-reason { height: 24px; width: 220px; padding: 0 8px; border: 1px solid #cfcfcf; border-radius: 2px; font: inherit; font-size: 13px; }
.fz-rep-reason.is-bad { border-color: #c0392b; }
.fz-rep-send, .fz-rep-cancel { height: 24px; padding: 0 10px; border: 1px solid #cfcfcf; border-radius: 2px; background: #fff; font: inherit; font-size: 12.5px; cursor: pointer; }
.fz-rep-send:hover { border-color: #ec6810; color: #ec6810; }
.fz-rep-note { margin-left: 8px; font-size: 12.5px; }
.fz-rep-note.is-ok { color: #1f8f3a; }
.fz-rep-note.is-err { color: #c0392b; }
/* панель «Опции темы» вплотную к первому посту */
.fz-cat-card:has(> .tcat:first-child:last-child) { margin-bottom: 0 !important; border-bottom: 0 !important; }
.fz-cat-card:has(> .tcat:first-child:last-child) > .tcat { border-radius: 2px 2px 0 0 !important; }
#posts table.fz-post:first-of-type, #posts > div:first-child table.fz-post { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
/* «Ответить» / «Новая тема» в 1.5 раза крупнее и по центру строки с пагинацией */
table:has(> tbody > tr > td > div.pagenav) > tbody > tr > td { vertical-align: middle !important; }
table:has(> tbody > tr > td > div.pagenav) td.smallfont > a.fz-btn {
  font-size: 17px !important; padding: 0 30px !important; height: 54px !important; line-height: 54px !important;
  display: inline-block !important; border-radius: 2px !important; font-weight: 700 !important;
}
.pagenav { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---------- Подвал: одна рамка у «Замечание»/«IP», репутация справа ---------- */
td.fz-post-foot-left > a:has(> .fzb), td.fz-post-foot-right > a:has(> .fzb) {
  border: 0 !important; padding: 0 !important; background: none !important; height: auto !important;
  box-shadow: none !important; display: inline-flex !important; align-items: center;
}
td.fz-post-foot-right .fz-rep { margin: 0 8px 0 0 !important; }
td.fz-post-foot-right .fz-rep-btn { height: 25px !important; }

/* ---------- Зазор между панелью темы и постами — добиваем во всех раскладках ---------- */
.fz-cat-card:has(> .tcat):not(:has(table)):not(:has(.fz-top5-grid)):not(.fz-chat-card) { margin-bottom: 0 !important; }
div.page:has(+ #posts) .fz-cat-card:last-child,
div:has(> #posts) > .fz-cat-card, #inlinemodform > .fz-cat-card:last-child { margin-bottom: 0 !important; }
#posts, #posts > div:first-child, #posts > div:first-child > div.page { margin-top: 0 !important; padding-top: 0 !important; }
#posts table.fz-post:first-of-type { margin-top: 0 !important; }

/* ---------- Репутация в визитке: плюс зелёный, минус красный ---------- */
.fz-author-stats .fz-stat b[style*="#3a9d3a"] { color: #299447 !important; }
.fz-author-stats .fz-stat b[style*="#d04545"] { color: #c0392b !important; }

/* ---------- «Ответить» чуть меньше ---------- */
table:has(> tbody > tr > td > div.pagenav) td.smallfont > a.fz-btn {
  font-size: 15.5px !important; padding: 0 24px !important; height: 44px !important; line-height: 44px !important;
}

/* ---------- Ник крупнее ---------- */
.fz-author-name { font-size: 19px !important; }
.fz-author-name a.bigusername, .fz-author-name a { font-size: 19px !important; }
/* левая ячейка подвала не должна растягивать колонку визитки: кнопки переносятся, ширина фиксирована */
@media (min-width: 761px) {
  table.fz-post td.fz-post-foot-left {
    display: flex !important; flex-wrap: wrap !important; gap: 6px !important; align-items: center !important;
    white-space: normal !important; width: 244px !important; max-width: 244px !important; box-sizing: border-box !important;
  }
  table.fz-post td.fz-post-foot-left > a, table.fz-post td.fz-post-foot-left > span { margin: 0 !important; }
}
table.fz-post tr td.fz-post-foot-left > a:has(> .fzb), table.fz-post tr td.fz-post-foot-right > a:has(> .fzb),
table.fz-post tr td.fz-post-foot-left > a:has(> .fzb):hover {
  border: 0 !important; padding: 0 !important; background: none !important; height: auto !important;
  box-shadow: none !important; border-radius: 0 !important;
}

/* визитка: подпись и значение в одну линию, значения по левому краю одной колонкой */
.fz-author-stats .fz-stat {
  justify-content: flex-start !important; gap: 0 !important; text-align: left !important;
}
.fz-author-stats .fz-stat > span:first-child { flex: 0 0 118px !important; text-align: left !important; }
.fz-author-stats .fz-stat > b, .fz-author-stats .fz-stat > span:first-child + * { text-align: left !important; }
.fz-author-stats .fz-stat.fz-stat-country { justify-content: center !important; gap: 8px !important; }
/* подвал слева: «Замечание», «IP» по центру */
@media (min-width: 761px) {
  table.fz-post td.fz-post-foot-left { justify-content: center !important; }
}
/* подвал справа: кнопки в ряд, +1/−1 — самые правые */
table.fz-post td.fz-post-foot-right {
  display: flex !important; flex-wrap: wrap !important; justify-content: flex-end !important;
  align-items: center !important; gap: 6px !important; white-space: normal !important;
}
table.fz-post td.fz-post-foot-right > * { margin: 0 !important; }
table.fz-post td.fz-post-foot-right .fz-rep { order: 100 !important; margin: 0 0 0 10px !important; }
table.fz-post td.fz-post-foot-right .fz-rep-form { order: 101 !important; }
table.fz-post td.fz-post-foot-right .fz-rep-note { order: 102 !important; }
/* подвал: обе ячейки остаются table-cell (две flex-ячейки подряд браузер сливал в одну анонимную) */
@media (min-width: 761px) {
  table.fz-post td.fz-post-foot-left {
    display: table-cell !important; text-align: center !important; white-space: normal !important;
    width: 244px !important; max-width: 244px !important; line-height: 34px !important;
  }
  table.fz-post td.fz-post-foot-left > a, table.fz-post td.fz-post-foot-left > span { margin: 0 3px !important; vertical-align: middle; }
}
table.fz-post td.fz-post-foot-right {
  display: table-cell !important; text-align: right !important; white-space: normal !important; line-height: 34px !important;
}
table.fz-post td.fz-post-foot-right > * { margin: 0 0 0 6px !important; vertical-align: middle; }
table.fz-post td.fz-post-foot-right .fz-rep { float: right !important; margin: 5px 0 0 12px !important; }
table.fz-post td.fz-post-foot-right .fz-rep-form { float: right !important; margin: 5px 0 0 6px !important; }
table.fz-post td.fz-post-foot-right .fz-rep-note { float: right !important; margin: 0 0 0 8px !important; }

/* панель темы: небольшой отступ сверху от «Ответить»/листалки, снизу вплотную к первому посту */
div.page:has(+ #posts) .fz-cat-card:has(> .tcat),
div:has(> #posts) .fz-cat-card:has(> .tcat),
body:has(#posts) .fz-cat-card:has(> .tcat > a#threadtools),
body:has(#posts) .fz-cat-card:has(> .tcat #threadtools) {
  margin-top: 12px !important; margin-bottom: 0 !important; border-bottom: 0 !important;
}
body:has(#posts) .fz-cat-card:has(> .tcat #threadtools) > .tcat { border-radius: 2px 2px 0 0 !important; }
/* надписи на панели темы крупнее */
.fz-cat-card > .tcat a, .fz-cat-card > .tcat a:link, .fz-cat-card > .tcat a:visited,
.fz-cat-card > .tcat, table td.tcat[width="100%"] a { font-size: 14.5px !important; }
.fz-cat-card > .tcat > a, .fz-cat-card > .tcat > a:link, .fz-cat-card > .tcat > a:visited,
.fz-cat-card > .tcat a#threadtools, .fz-cat-card > .tcat a#threadsearch, .fz-cat-card > .tcat a#threadrating,
.fz-cat-card > .tcat a#displaymodes, .fz-cat-card > .tcat a[id^="inlinemod"], .fz-cat-card > .tcat > a[href^="#goto_"] {
  font-size: 14.5px !important;
}
div.tcat:has(> a#threadtools) > a, div.tcat:has(> a#displaymodes) > a { font-size: 14.5px !important; }

/* низ темы: «Ответить» и листалка в один ряд, листалка справа, «Модерация» строкой ниже под ней */
table:has(> tbody > tr > td > div.pagenav) > tbody > tr > td,
table:has(> tbody > tr > td > div.smallfont > select[name="do"]) > tbody > tr > td { vertical-align: top !important; }
table:has(> tbody > tr > td > div.pagenav) td.smallfont > a.fz-btn { margin-top: 0 !important; }
td:has(> div.pagenav) > div.pagenav { display: flex !important; justify-content: flex-end !important; float: none !important; }
td:has(> div.smallfont > select[name="do"]) > div.smallfont:has(> select[name="do"]) {
  float: none !important; clear: both !important; display: flex !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: flex-end !important; gap: 6px 8px !important;
  margin: 12px 0 0 auto !important; width: max-content !important; max-width: 100% !important; text-align: right !important;
}
td:has(> div.smallfont > select[name="do"]) > div.smallfont:has(> select[name="do"]) > br { display: none !important; }
td:has(> div.smallfont > select[name="do"]) > div.smallfont:has(> select[name="do"]) > strong { margin-right: 4px; }

/* ---------- Непрочитанное — рыжим (по новой договорённости) ---------- */
:root { --fz-unread: var(--fz-accent-dark); }
/* статистика: тема с непрочитанным */
.fz-lp-row.is-new .fz-c-t a, .fz-lp-row.is-new .fz-c-t a:link, .fz-lp-row.is-new .fz-c-t a:visited { color: var(--fz-accent-dark) !important; font-weight: 700 !important; }
.fz-lp-row.is-new .fz-c-t a:hover { color: var(--fz-hover) !important; }
/* список тем в разделе */
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:link,
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:visited { color: var(--fz-accent-dark) !important; font-weight: 700 !important; }
.fz-th-titleline:has(a.fz-th-new) a.fz-th-title:hover { color: var(--fz-hover) !important; }
/* главная: последняя тема в разделе с непрочитанным */
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:link,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a:visited,
tr.fz-forumrow:has(td.fz-fcell-icon img[src*="forum_new"]) td.fz-fcell-last .smallfont > div:first-child a strong { color: var(--fz-accent-dark) !important; }
/* подраздел с новым — название рыжим */
a.fz-sub.is-new, a.fz-sub.is-new .fz-sub-t { color: var(--fz-accent-dark) !important; }
/* рыжая папка: подраздел с новым и непрочитанная тема в статистике */
a.fz-sub.is-new .fz-sub-dot, .fz-lp-row.is-new .fz-lp-ico {
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f6a15a'/%3E%3Cstop offset='1' stop-color='%23d9620f'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffd3a8'/%3E%3Cstop offset='1' stop-color='%23ff8a2a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1.5 2.5h4.2l1.4 1.5h7.4v8.5h-13z' fill='url(%23b)' stroke='%23b24f0a' stroke-linejoin='round'/%3E%3Cpath d='M3.6 6.3h11.9l-1.7 6.2h-12.3z' fill='url(%23f)' stroke='%23b24f0a' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 16px 14px !important; box-shadow: none !important;
}

/* ---------- Быстрый ответ: графитовая полоса и окно — один блок ---------- */
#qrform > table.tborder {
  width: 100% !important; border: 1px solid #cfcfcf !important; border-collapse: collapse !important;
  border-spacing: 0 !important; background: var(--alt1) !important; border-radius: 2px !important; overflow: hidden;
}
#qrform > table.tborder > thead > tr > td.tcat { border-radius: 0 !important; margin: 0 !important; }
#qrform > table.tborder > tbody > tr > td.panelsurround {
  padding: 0 !important; margin: 0 !important; border: 0 !important; background: var(--alt1) !important;
}
#qrform > table.tborder > tbody > tr > td.panelsurround > div.panel {
  margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  background: var(--alt1) !important; padding: 14px 16px 16px !important; width: auto !important; max-width: none !important;
}
#qrform td.panelsurround div.panel > table, #qrform td.panelsurround div.panel > div > table { width: 100% !important; }
#qrform td.panelsurround .smallfont { font-size: 14px !important; color: #17181a !important; }
#qrform .fieldset { background: var(--alt2) !important; border: 1px solid var(--grid) !important; }
#qrform .fieldset legend { font-size: 14px !important; }
#qrform .fieldset label { font-size: 14.5px !important; }

/* ---------- Редактор: кнопки и текст крупнее ---------- */
.fz-ed { border-color: #cfcfcf !important; border-radius: 2px !important; }
.fz-ed-bar { padding: 7px 8px !important; gap: 2px !important; background: #ececeb !important; border-bottom: 1px solid var(--grid) !important; border-radius: 0 !important; }
.fz-ed-btn { width: 40px !important; height: 40px !important; border-radius: 2px !important; }
.fz-ed-btn svg { width: 21px !important; height: 21px !important; }
.fz-ed-btn:hover { background: #dcdcda !important; }
.fz-ed-sep { height: 24px !important; margin: 0 6px !important; }
.fz-ed .ProseMirror { font-size: 17px !important; line-height: 1.6 !important; min-height: 220px !important; padding: 16px 18px !important; }
.fz-ed-sm img { max-height: 26px !important; }
@media (max-width: 760px) {
  .fz-ed-btn { width: 34px !important; height: 34px !important; }
  .fz-ed-btn svg { width: 19px !important; height: 19px !important; }
  .fz-ed .ProseMirror { font-size: 16px !important; }
}

/* статистика: подписи колонок последних сообщений */
.fz-top5-wide .fz-lp-row.fz-lp-head {
  background: #ececeb !important; border-bottom: 1px solid var(--grid) !important;
  padding-top: 5px !important; padding-bottom: 5px !important;
}
.fz-lp-head:hover { background: #ececeb !important; }
.fz-lp-head span, .fz-lp-head i, .fz-lp-head b, .fz-lp-head a {
  font-size: 12.5px !important; font-weight: 600 !important; color: #3a3a38 !important; font-style: normal !important;
  text-decoration: none !important; cursor: default;
}
.fz-lp-head .fz-c-t { padding-left: 23px; }
.fz-lp-head a.fz-c-go-h { display: block; width: 16px; }
.fz-lp-head .fz-c-f { text-align: right; }
@media (max-width: 1000px) { .fz-lp-head { display: none !important; } }
@media (min-width: 1001px) {
  .fz-top5-wide .fz-lp-row { grid-template-columns: minmax(0, 1fr) 84px 62px 130px 16px 140px 200px !important; }
}
@media (min-width: 1001px) and (max-width: 1300px) {
  .fz-top5-wide .fz-lp-row { grid-template-columns: minmax(0, 1fr) 76px 58px 110px 16px 130px 150px !important; }
}
/* шапка стоит вплотную к краям окна, как на сайте */
html body { margin: 0 !important; }

/* =====================================================================
   МОБИЛЬНАЯ ВЕРСИЯ (≤760px) — итоговые правила, перекрывают всё выше
   ===================================================================== */
@media (max-width: 760px) {
  html body { -webkit-text-size-adjust: 100%; }

  /* ---------- главная форума: строки разделов ---------- */
  html body:not(#fzm) tr.fz-forumrow {
    display: grid !important; grid-template-columns: 44px max-content max-content minmax(0, 1fr);
    grid-template-areas: "ico main main main" "ico n1 n2 ." "ico last last last";
    column-gap: 0; background: var(--alt2, #f6f6f6) !important; border-bottom: 1px solid var(--grid, #d9d9d9);
  }
  html body:not(#fzm) tr.fz-forumrow > td { background: transparent !important; border: 0 !important; width: auto !important; min-width: 0 !important;
    padding: 0 !important; display: block !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-icon { grid-area: ico; padding: 12px 0 0 8px !important; text-align: left !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-icon img, html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-icon .fzi { max-width: 32px; height: auto; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-main { grid-area: main; padding: 10px 12px 4px 6px !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num { padding: 2px 14px 4px 6px !important; display: flex !important; align-items: baseline; gap: 4px;
    text-align: left !important; font-size: 14px !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num:nth-of-type(4) { grid-area: n1; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num:nth-of-type(5) { grid-area: n2; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num b { font-size: 14px !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num .fz-fcell-cap { display: inline !important; font-size: 13.5px !important; margin: 0 !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last { grid-area: last; padding: 6px 12px 10px 6px !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last > div { display: block !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last .smallfont > div { display: flex !important; flex-wrap: wrap; align-items: center; column-gap: 6px; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last .smallfont > div > * { float: none !important; margin: 0 !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last [align="right"], html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last .fz-lp-date { text-align: left !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-mod { display: none !important; }
  html body:not(#fzm) .fz-ftitle, html body:not(#fzm) .fz-ftitle a { font-size: 17px !important; }
  html body:not(#fzm) .fz-fdesc { font-size: 14px !important; }
  html body:not(#fzm) .fz-fsubforums { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 6px; }
  html body:not(#fzm) .fz-fsubforums .fz-fsublabel { flex-basis: 100%; }
  html body:not(#fzm) tr.fz-colhead { display: none !important; }

  /* ---------- список тем ---------- */
  html body:not(#fzm) tr.fz-threadrow {
    display: grid !important; grid-template-columns: 34px minmax(0, 1fr);
    grid-template-areas: "ico main" "ico stats" "ico last";
    background: var(--alt2, #f6f6f6) !important; border-bottom: 1px solid var(--grid, #d9d9d9);
  }
  html body:not(#fzm) tr.fz-threadrow > td { display: block !important; background: transparent !important; border: 0 !important;
    width: auto !important; min-width: 0 !important; padding: 0 !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-icon { grid-area: ico; padding: 12px 0 0 8px !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-main { grid-area: main; padding: 10px 12px 2px 6px !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-stats { grid-area: stats; padding: 2px 12px 2px 6px !important; display: flex !important;
    gap: 12px; justify-content: flex-start !important; text-align: left !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-stats .fz-th-stat { display: inline !important; font-size: 13.5px !important; color: #222 !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-stats .fz-th-stat b { font-size: 13.5px !important; color: #111214 !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last { grid-area: last; padding: 4px 12px 10px 6px !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-link { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-ava { width: 24px !important; height: 24px !important; flex: 0 0 24px; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-body { display: flex !important; flex-direction: row !important; gap: 8px; align-items: baseline; }
  html body:not(#fzm) tr.fz-threadrow > td > input[type=checkbox] { display: none; }
  html body:not(#fzm) a.fz-th-title { font-size: 16px !important; }

  /* ---------- сообщения темы ---------- */
  html body:not(#fzm) table[id^="post"] > tbody > tr { display: block !important; }
  html body:not(#fzm) table[id^="post"] td.fz-author {
    display: grid !important; width: auto !important; min-width: 0 !important; max-width: none !important;
    grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "ava name" "ava title" "ava online" "stats stats";
    column-gap: 10px; row-gap: 1px; align-items: center; padding: 10px 12px !important;
    border-right: 0 !important; border-bottom: 1px solid var(--grid, #d9d9d9) !important; background: var(--alt1, #f1f1f1) !important;
  }
  html body:not(#fzm) td.fz-author .fz-author-ava { grid-area: ava; margin: 0 !important; width: 48px !important; height: 48px !important; align-self: start; }
  html body:not(#fzm) td.fz-author .fz-author-ava img, html body:not(#fzm) td.fz-author .fz-ava-stub { width: 48px !important; height: 48px !important;
    max-width: 48px !important; max-height: 48px !important; font-size: 20px !important; border-radius: 2px !important; object-fit: cover; }
  html body:not(#fzm) td.fz-author .fz-author-name { grid-area: name; margin: 0 !important; text-align: left !important; }
  html body:not(#fzm) td.fz-author .fz-author-name a.bigusername, html body:not(#fzm) td.fz-author .fz-author-name a.bigusername span { font-size: 17px !important; }
  html body:not(#fzm) td.fz-author .fz-author-title { grid-area: title; margin: 0 !important; text-align: left !important; font-size: 13.5px !important; }
  html body:not(#fzm) td.fz-author .fz-online { grid-area: online; margin: 0 !important; justify-self: start; font-size: 12.5px !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats { grid-area: stats; display: flex !important; flex-wrap: wrap; gap: 4px 14px;
    margin: 8px 0 0 !important; padding: 8px 0 0 !important; border-top: 1px solid var(--grid, #d9d9d9) !important; width: auto !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat { display: inline-flex !important; gap: 5px; align-items: baseline; margin: 0 !important;
    padding: 0 !important; border: 0 !important; font-size: 13.5px !important; width: auto !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat > span { width: auto !important; min-width: 0 !important; font-size: 13.5px !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat-country { display: inline-flex !important; align-items: center; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat-social { display: none !important; }
  html body:not(#fzm) table[id^="post"] td.fz-msg { display: block !important; width: auto !important; padding: 10px 12px 12px !important; }
  html body:not(#fzm) .fz-msg-body { font-size: 15.5px !important; line-height: 1.5 !important; overflow-wrap: anywhere; }
  html body:not(#fzm) .fz-msg-body img { max-width: 100% !important; height: auto !important; }
  html body:not(#fzm) .fz-msg-body pre, html body:not(#fzm) .fz-msg-body .bbcode_code, html body:not(#fzm) .fz-msg-body code { white-space: pre-wrap !important; word-break: break-word; max-width: 100%; }
  html body:not(#fzm) .fz-msg-body table { max-width: 100% !important; }
  html body:not(#fzm) .fz-msg-body iframe, html body:not(#fzm) .fz-msg-body video, html body:not(#fzm) .fz-msg-body object, html body:not(#fzm) .fz-msg-body embed { max-width: 100% !important; }
  html body:not(#fzm) table[id^="post"] td.fz-post-foot-left { display: none !important; }
  html body:not(#fzm) table[id^="post"] td.fz-post-foot-left:not(:empty) { display: block !important; }
  html body:not(#fzm) table[id^="post"] td.fz-post-foot-right { display: flex !important; flex-wrap: wrap; justify-content: flex-end; gap: 6px;
    width: auto !important; padding: 8px 12px !important; }
  html body:not(#fzm) table[id^="post"] td.fz-post-foot-right .fz-rep { float: none !important; order: -1; margin-right: auto !important; }
  html body:not(#fzm) table[id^="post"] .fz-btn { min-height: 34px; display: inline-flex !important; align-items: center; }

  /* ---------- статистика «последние сообщения» ---------- */
  html body:not(#fzm) .fz-top5 .fz-lp-row {
    display: grid !important; grid-template-columns: max-content max-content minmax(0, 1fr);
    grid-template-areas: "t t t" "u d d" "f vr vr"; column-gap: 10px; row-gap: 3px; padding: 8px 12px !important;
  }
  html body:not(#fzm) .fz-top5 .fz-lp-row > span { width: auto !important; min-width: 0 !important; max-width: none !important; padding: 0 !important;
    border: 0 !important; text-align: left !important; justify-content: flex-start !important; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-t  { grid-area: t; font-size: 15.5px !important; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-u  { grid-area: u; display: inline-flex !important; align-items: center; gap: 8px; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-d  { grid-area: d; font-size: 13.5px !important; align-self: center; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-f  { grid-area: f; font-size: 13.5px !important; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-vr { grid-area: vr; display: inline-flex !important; gap: 10px; font-size: 13.5px !important; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-vr b { order: -1; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-vr b::after { content: " отв."; font-weight: 400; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-vr i { font-style: normal; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-vr i::after { content: " просм."; }
  html body:not(#fzm) .fz-top5 .fz-lp-row .fz-c-go { order: 2; }

  /* ---------- общие элементы ---------- */
  html body:not(#fzm) .pagenav td.alt1, html body:not(#fzm) .pagenav td.alt2, html body:not(#fzm) .pagenav a, html body:not(#fzm) .pagenav td { min-width: 34px; }
  html body:not(#fzm) input[type=text], html body:not(#fzm) input[type=password], html body:not(#fzm) textarea, html body:not(#fzm) select { font-size: 16px !important; } /* iOS не зумит */
}
@media (max-width: 760px) {
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num { flex-direction: row !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num > b, html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num > span.fz-fcell-cap { display: inline !important; width: auto !important; }
}

@media (max-width: 760px) {
  html body:not(#fzm) tr.fz-forumrow, html body:not(#fzm) tr.fz-threadrow { padding: 0 !important; gap: 0 !important; min-height: 0 !important; }
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-num > span.fz-fcell-cap { margin-left: 4px !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-stats { justify-content: flex-start !important; align-items: baseline !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-stats .fz-th-stat { width: auto !important; flex: 0 0 auto !important; }
}
@media (max-width: 760px) {
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last span, html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last div,
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last a { width: auto !important; max-width: none !important; }
  html body:not(#fzm) tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky) { padding-top: 20px !important; position: relative; border-top: 1px solid var(--grid, #d9d9d9); }
  html body:not(#fzm) tr.fz-sticky + tr.fz-threadrow:not(.fz-sticky)::before { top: 5px !important; left: 10px !important; background: transparent !important;
    color: #3c3f44 !important; font-size: 11px !important; }
}
@media (max-width: 760px) {
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat > span { flex: none !important; width: auto !important; min-width: 0 !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat > span::after { content: ":"; }
}
@media (max-width: 760px) {
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat > span { margin-right: 5px !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat-country img { margin-right: 5px !important; }
}
@media (max-width: 760px) {
  html body:not(#fzm) tr.fz-forumrow > td.fz-fcell-last * { text-align: left !important; justify-content: flex-start !important; }
}

/* «Кто онлайн»: кнопка «Написать» вместо иконок ICQ/MSN/Skype */
a.fz-pm-btn, a.fz-pm-btn:link, a.fz-pm-btn:visited {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 2px; text-decoration: none;
  background: #fff; border: 1px solid var(--grid, #cfcfcf); color: #111214 !important; font-size: 13.5px; font-weight: 600;
}
a.fz-pm-btn:hover { border-color: #4d95dc; color: #225390 !important; }
a.fz-pm-btn svg { width: 16px; height: 16px; fill: none; stroke: #ec6810; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* =====================================================================
   Результаты поиска (сообщения пользователя и т.п.) — в стиле форума
   ===================================================================== */
table.tborder[id^="post"]:has(> tbody > tr > td.thead) {
  margin: 0 0 14px !important; border: 1px solid #cfcfcf !important; border-radius: 2px; border-collapse: collapse !important;
  background: #f6f6f6 !important; overflow: hidden; }
table.tborder[id^="post"] > tbody > tr > td.thead {
  background: #30343a !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important;
  padding: 8px 14px !important; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
table.tborder[id^="post"] > tbody > tr > td.thead img.inlineimg { display: none; }
table.tborder[id^="post"] > tbody > tr > td.thead span { color: #e5e5e5 !important; font-weight: 400; text-transform: none !important; letter-spacing: 0 !important; }
table.tborder[id^="post"] > tbody > tr > td.thead a { color: #fff !important; font-weight: 700; text-decoration: none; }
table.tborder[id^="post"] > tbody > tr > td.thead a:hover { color: #ff9a45 !important; }
table.tborder[id^="post"] > tbody > tr > td.thead input[type=checkbox] { vertical-align: -2px; margin-left: 8px; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) > tbody > tr > td.alt1 {
  background: #f6f6f6 !important; padding: 12px 16px 14px !important; border: 0 !important; color: #111214; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div > a strong,
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div > a { font-size: 17px !important; color: #111214 !important; font-weight: 700; text-decoration: none; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div > a:hover strong,
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div > a:hover { color: #225390 !important; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > .smallfont { font-size: 14px !important; color: #111214 !important; margin-top: 3px; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > .smallfont strong { color: #111214 !important; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > .smallfont a { font-weight: 700; color: #111214 !important; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > .smallfont a:hover { color: #225390 !important; }
/* фрагмент сообщения */
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 {
  margin: 10px 0 0 !important; padding: 10px 14px !important; border: 1px solid #d9d9d9 !important; border-left: 3px solid #ec6810 !important;
  background: #fff !important; border-radius: 2px; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 .smallfont { font-size: 15px !important; line-height: 1.5; color: #111214 !important; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 em { font-style: normal !important; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 img.inlineimg { display: none; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 a { font-weight: 700; color: #225390 !important; text-decoration: none; }
table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > div.alt2 a:hover { color: #ec6810 !important; }
@media (max-width: 760px) {
  table.tborder[id^="post"]:has(> tbody > tr > td.thead) td.alt1 > .smallfont[style*="float"] { float: none !important; display: inline-block; margin-right: 12px; }
}

/* статус «вне форума / на форуме» в таблицах (группы, участники) — одной строкой */
td:has(> span.fz-online:only-child), td:has(> .fz-online) { white-space: nowrap !important; width: 120px !important; text-align: left !important; vertical-align: middle !important; }
td > span.fz-online { writing-mode: horizontal-tb !important; display: inline-flex !important; width: auto !important; word-break: keep-all !important; }

/* ===== Календарь ===== */
html.fzs-calendar table.tborder td { word-break: normal !important; overflow-wrap: normal !important; }
/* маленькие календари месяцев */
html.fzs-calendar table.tborder:not(:has(td.alt2 div.thead)) td.alt1,
html.fzs-calendar table.tborder:not(:has(td.alt2 div.thead)) td.alt2,
html.fzs-calendar table.tborder:not(:has(td.alt2 div.thead)) td.thead {
  padding: 5px 2px !important; text-align: center !important; white-space: nowrap !important; font-size: 13.5px !important; }
html.fzs-calendar table.tborder:not(:has(td.alt2 div.thead)) em { font-style: normal; color: #6b6f75; }
/* большой календарь: заголовок дня */
html.fzs-calendar td div.thead { background: #e5e5e5 !important; color: #111214 !important; font-weight: 700; padding: 5px 8px !important; }
html.fzs-calendar td .smallfont[style*="dotted"] { border-bottom: 1px solid #d9d9d9 !important; font-size: 13.5px !important; }
/* календарь на телефоне: большой месяц — списком дней с событиями */
@media (max-width: 760px) {
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) > tbody > tr:not(:first-child) { display: block !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) > tbody > tr:not(:first-child) > td { display: block !important; width: auto !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) > tbody > tr > td.thead:first-child { display: none !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td:has(> div.thead):not(:has(.smallfont a)) { display: none !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td:has(> div.thead) { border-bottom: 1px solid #d9d9d9 !important; padding: 0 !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td > div.thead { font-size: 14px !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td > div.thead span { float: none !important; margin-right: 6px; }
}
@media (max-width: 760px) {
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) > tbody > tr,
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) > tbody > tr > td { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td > div:not(.thead) { padding: 6px 10px 8px !important; height: auto !important; }
  html.fzs-calendar table.tborder:has(td.alt2 div.thead) td > div:not(.thead) .smallfont { margin: 0 0 4px !important; border: 0 !important; font-size: 14.5px !important; }
}

/* На главной форума «хлебная крошка» = одно слово «Форум» (дубль меню) — прячем.
   На вложенных страницах в .fz-crumb есть ещё элементы, там она остаётся. */
.fz-crumb:has(> .fz-crumb-home:only-child) { display: none !important; }

/* ── единая оранжевая заливка кнопок = как в шапке (градиент) ── */
.fz-btn, a.fz-btn:link, a.fz-btn:visited,
.fzb-primary, a > .fzb-primary,
.fzgo, input.button, input[type="submit"].button, button.button {
  background: linear-gradient(180deg,#ff9a45 0%,#ec6810 100%) !important;
  border-color: #d85f0c !important;
}
.fz-btn:hover, a.fz-btn:hover,
a:hover > .fzb-primary, .fzb-primary:hover,
.fzgo:hover, input.button:hover, input[type="submit"].button:hover, button.button:hover {
  background: linear-gradient(180deg,#ffab60 0%,#f07418 100%) !important;
  border-color: #c85a0b !important;
}

/* ── постбит: ник, статус, титул и аватар — строго по центру и чуть выше ── */
td.fz-author { text-align: center !important; padding-top: 12px !important; vertical-align: top !important; }
td.fz-author > .fz-author-name,
td.fz-author > div[id^="postmenu_"],
td.fz-author .fz-author-name,
td.fz-author .fz-author-title,
td.fz-author .fz-author-rank,
td.fz-author .fz-author-ava {
  text-align: center !important; float: none !important; display: block !important;
  width: auto !important; margin-left: auto !important; margin-right: auto !important;
}
td.fz-author .fz-author-name a, td.fz-author a.bigusername { display: inline-block !important; float: none !important; }
td.fz-author .fz-author-ava { margin-top: 6px !important; }
td.fz-author .fz-author-ava img, td.fz-author .fz-author-ava .fz-ava-img,
td.fz-author .fz-ava-stub { float: none !important; margin-left: auto !important; margin-right: auto !important; }
/* онлайн-статус ("вне форума") тоже по центру */
td.fz-author .onlinestatus, td.fz-author span.onlinestatus,
td.fz-author img[id^="onlinestatus"], td.fz-author .fz-onlinestatus {
  display: block !important; text-align: center !important; margin: 2px auto 4px !important; float: none !important;
}

/* ── постбит: кнопки футера в едином плоском стиле (2px), без «пилюль» ── */
.fzb, .fzb-sm, a > .fzb { border-radius: 2px !important; }
.fzb-sm { padding: 4px 10px !important; font-size: 11.5px !important; line-height: 1.25 !important; }
/* IP — в шаблоне postbit_ip уже кнопка .fzb-ghost; ссылку не оформляем, иначе «IP IP» */
td.fz-post-foot-left a[href*="do=getip"] { text-decoration: none !important; }

/* ── соцсети в постбите: ряд настоящих брендовых значков ── */
.fz-stat-social { display: flex !important; justify-content: center; gap: 8px; margin-top: 10px !important; flex-wrap: wrap; }
.fz-stat-social a { display: inline-flex; text-decoration: none !important; line-height: 0; }
.fz-soc { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px;
  font-size: 0 !important; color: transparent !important; border: 0 !important; background-position: center; background-repeat: no-repeat; background-size: 18px 18px;
  transition: transform .12s ease, box-shadow .12s ease; }
.fz-stat-social a:hover .fz-soc { transform: translateY(-1px); box-shadow: 0 3px 10px rgba(0,0,0,.18); }
/* ВКонтакте — фирменный синий + официальный глиф */
.fz-vk { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px !important;
  font-size: 0 !important; color: transparent !important; border: 0 !important; padding: 0 !important; background-color: #0077FF !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23fff' d='M12.785 16.241s.288-.032.436-.194c.136-.148.131-.427.131-.427s-.019-1.307.576-1.5c.587-.19 1.341 1.264 2.14 1.823.604.423 1.063.33 1.063.33l2.135-.03s1.117-.07.587-.967c-.043-.073-.309-.663-1.588-1.876-1.34-1.27-1.16-1.065.454-3.263.983-1.339 1.376-2.156 1.253-2.506-.117-.334-.84-.246-.84-.246l-2.404.015s-.178-.025-.31.056c-.13.079-.213.263-.213.263s-.381 1.035-.889 1.916c-1.072 1.858-1.5 1.956-1.675 1.841-.407-.269-.305-1.08-.305-1.657 0-1.802.268-2.553-.52-2.748-.262-.064-.454-.107-1.123-.114-.859-.009-1.585.003-1.996.208-.274.137-.485.442-.356.46.159.021.519.099.71.365.246.343.237 1.113.237 1.113s.142 2.121-.331 2.384c-.325.18-.77-.188-1.727-1.874-.49-.864-.86-1.819-.86-1.819s-.071-.178-.198-.274c-.154-.116-.37-.153-.37-.153l-2.285.015s-.343.01-.469.162c-.112.135-.009.414-.009.414s1.789 4.271 3.814 6.421c1.857 1.973 3.965 1.843 3.965 1.843h.956z'/></svg>") !important;
  background-position: center !important; background-repeat: no-repeat !important; background-size: 20px 20px !important; }
.fz-vk:hover { border-color: transparent !important; background-color: #0066db !important; }

/* ── VK: официальный логотип, вектор 1:1 (28px), без масштабирования и обводки ── */
.fz-stat-social .fz-vk, .fz-vk {
  width: 28px !important; height: 28px !important; padding: 0 !important; border: 0 !important; box-shadow: none !important;
  border-radius: 6px !important; background-color: #fff !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%230077FF' fill-rule='evenodd' d='M15.684 0H8.316C1.592 0 0 1.592 0 8.316v7.368C0 22.408 1.592 24 8.316 24h7.368C22.408 24 24 22.408 24 15.684V8.316C24 1.592 22.391 0 15.684 0zm3.692 17.123h-1.744c-.66 0-.864-.525-2.05-1.727-1.033-1-1.49-1.135-1.744-1.135-.356 0-.458.102-.458.61v1.575c0 .44-.135.71-1.27.71-1.846 0-3.896-1.118-5.335-3.202C4.624 10.857 4.03 8.57 4.03 8.096c0-.254.102-.491.61-.491h1.744c.457 0 .627.203.796.677.847 2.457 2.27 4.607 2.85 4.607.22 0 .322-.102.322-.66V9.721c-.068-1.186-.695-1.287-.695-1.71 0-.204.17-.407.44-.407h2.744c.373 0 .508.203.508.643v3.473c0 .372.17.508.271.508.22 0 .407-.136.813-.542 1.254-1.406 2.151-3.574 2.151-3.574.119-.254.322-.491.779-.491h1.744c.525 0 .644.27.525.643-.22 1.017-2.354 4.031-2.354 4.031-.186.305-.254.44 0 .78.186.254.796.779 1.202 1.253.745.847 1.32 1.558 1.473 2.05.17.49-.085.744-.576.744z'/></svg>") !important;
  background-size: 28px 28px !important; background-position: 0 0 !important; background-repeat: no-repeat !important;
}
.fz-vk:hover { background-color: #fff !important; filter: brightness(.94); }

/* ── VK (финал): самодостаточный логотип, без белой подложки, жёсткий бокс 28×28 ── */
.fz-stat-social .fz-vk, .fz-vk, a .fz-vk {
  display: inline-block !important; width: 28px !important; height: 28px !important; min-width: 0 !important; max-width: 28px !important;
  flex: 0 0 28px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; box-sizing: border-box !important;
  overflow: hidden !important; border-radius: 0 !important; font-size: 0 !important; line-height: 0 !important; color: transparent !important;
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%230077FF' d='M15.684 0H8.316C1.592 0 0 1.592 0 8.316v7.368C0 22.408 1.592 24 8.316 24h7.368C22.408 24 24 22.408 24 15.684V8.316C24 1.592 22.391 0 15.684 0z'/><path fill='%23fff' d='M19.376 17.123h-1.744c-.66 0-.864-.525-2.05-1.727-1.033-1-1.49-1.135-1.744-1.135-.356 0-.458.102-.458.61v1.575c0 .44-.135.71-1.27.71-1.846 0-3.896-1.118-5.335-3.202C4.624 10.857 4.03 8.57 4.03 8.096c0-.254.102-.491.61-.491h1.744c.457 0 .627.203.796.677.847 2.457 2.27 4.607 2.85 4.607.22 0 .322-.102.322-.66V9.721c-.068-1.186-.695-1.287-.695-1.71 0-.204.17-.407.44-.407h2.744c.373 0 .508.203.508.643v3.473c0 .372.17.508.271.508.22 0 .407-.136.813-.542 1.254-1.406 2.151-3.574 2.151-3.574.119-.254.322-.491.779-.491h1.744c.525 0 .644.27.525.643-.22 1.017-2.354 4.031-2.354 4.031-.186.305-.254.44 0 .78.186.254.796.779 1.202 1.253.745.847 1.32 1.558 1.473 2.05.17.49-.085.744-.576.744z'/></svg>") center / 28px 28px no-repeat !important;
}
.fz-vk:hover { background-color: transparent !important; filter: brightness(.92); }

/* ── Постбит: векторный флаг в строке страны (строка — как раньше, внизу) ── */
.fz-author-stats .fz-stat-country img.fz-flag[src$=".svg"] { height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px !important; box-shadow: 0 0 0 1px rgba(0,0,0,.14) !important; }

/* ── Постбит: ряд фирменных значков соцсетей (вектор 28×28, без растягивания) ── */
.fz-socrow { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 10px 0 0 !important; padding: 0 !important; border: 0 !important; }
.fz-si { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px;
  line-height: 0; overflow: hidden; text-decoration: none !important; border: 0 !important; box-sizing: border-box;
  transition: transform .12s ease, filter .12s ease; }
.fz-si svg, .fz-si img { display: block; width: 28px; height: 28px; }
a.fz-si:hover { transform: translateY(-1px); filter: brightness(.94); }
span.fz-si { cursor: help; }
.fz-si-square { border-radius: 6px; }
.fz-si-circle { border-radius: 50%; }
.fz-si-img, .fz-si-img img { border-radius: 6px; }
.fz-si-tg { background: #2AABEE; }
.fz-si-dc { background: #5865F2; }
.fz-si-wa { background: #25D366; }
.fz-si-tw { background: #9146FF; }
.fz-si-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }

@media (max-width: 760px) {
  html body:not(#fzm) td.fz-author .fz-socrow { flex: 0 0 100%; justify-content: flex-start; margin-top: 6px !important; }
}

/* ================= Мобильная адаптация: правки после проверки (сент. 2026) ================= */
/* счётчики подразделов «14/28» не рвутся на две строки (и на планшете тоже) */
.fz-sub-n { white-space: nowrap !important; }
@media (max-width: 760px) {
  /* страницы темы в списке тем: аккуратные маленькие кнопки вместо крупного текста в скобках */
  html body:not(#fzm) tr.fz-threadrow .fz-th-pages { display: flex !important; flex-wrap: wrap; gap: 4px; margin: 5px 0 2px !important; font-size: 0 !important; line-height: 1 !important; }
  html body:not(#fzm) tr.fz-threadrow .fz-th-pages a { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 auto !important; width: auto !important; min-width: 30px !important; max-width: none !important; height: 28px; padding: 0 8px !important; margin: 0 !important; box-sizing: border-box;
    font-size: 13px !important; font-weight: 600 !important; color: #225390 !important; background: #fff; border: 1px solid #cfcfcf; border-radius: 2px; text-decoration: none !important; }
  /* префиксы «Опрос:», «Важно» — тем же размером, что заголовок темы */
  html body:not(#fzm) tr.fz-threadrow .fz-th-titleline { font-size: 15.5px !important; line-height: 1.35 !important; }
  /* последнее сообщение в списке тем не вылезает за экран */
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last { max-width: 100% !important; box-sizing: border-box !important; overflow: hidden; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-link { display: flex !important; max-width: 100% !important; min-width: 0; box-sizing: border-box; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-body { min-width: 0 !important; flex: 1 1 auto !important; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body:not(#fzm) tr.fz-threadrow > td.fz-th-last .fz-th-last-date { flex: 0 0 auto; white-space: nowrap; }
  /* постбит: флаг страны не прилипает к цифре репутации */
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat-country { margin-left: 4px !important; }
  html body:not(#fzm) td.fz-author .fz-author-stats .fz-stat-country img { margin-right: 5px !important; }
}

/* ===== FZ:СКИН:КОНЕЦ ===== */
