/*************************************************************
  SACRAMENTO — основной файл стилей

  Цвета, шрифты-переменные и всё, что зависит от темы,
  лежат в style_cs.1793375181.css — он подключается первым.

  0.  Подключения и шрифты
  1.  База: сброс, текст, ссылки, скрытое
  2.  Каркас страницы
  3.  Шапка
  4.  Объявления
  5.  Главная и списки тем
  6.  Служебные страницы и таблицы
  7.  Тема: посты, профиль автора, ссылки поста
  8.  Содержимое постов
  9.  Формы, кнопки, редактор
  10. Всплывающие окна и переадресация
  11. Профиль пользователя
  12. Низ страницы: крошки, статистика, футер, баннеры
  13. Плагины
  14. Старые шаблоны постов
  15. Мобильная версия

  ВАЖНО: форум превращает символы вроде стрелок и звёздочек
  в &#...; при сохранении. В content: пишите их через \код
  (звезда — \2605, точка — \2022, тире — \2014).
**************************************************************/


/*************************************************************
  0. ПОДКЛЮЧЕНИЯ И ШРИФТЫ
**************************************************************/

@import url(style_cs.1793375181.css);
@import "https://forumstatic.ru/files/0010/a8/ca/42983.css";

/* коллекции живут в отдельном файле, добавлять новые там */
@import "https://forumstatic.ru/files/0010/a8/ca/97557.css?v=8";

/* шрифты добавлять ТОЛЬКО ТУТ */
@import url('https://fonts.googleapis.com/css?family=Abel|Abril+Fatface|Alegreya+Sans+SC|Allerta+Stencil|Amatic+SC|Arizonia|Arvo|Bangers|Cabin+Sketch|Caveat|Chewy|Cinzel|Concert+One|Cormorant+Unicase|Francois+One|Fredericka+the+Great|Gaegu|Gamja+Flower|Gloria+Hallelujah|Hi+Melody|Indie+Flower|Julius+Sans+One|Kaushan+Script|Krona+One|Limelight|Lobster|Merriweather|Nanum+Brush+Script|Nothing+You+Could+Do|Open+Sans|Open+Sans+Condensed:300|PT+Sans|Pacifico|Permanent+Marker|Playfair+Display|Playfair+Display+SC|Prata|Questrial|Raleway|Reenie+Beanie|Roboto+Condensed|Shadows+Into+Light|Six+Caps|Song+Myung|Special+Elite|Spirax|Teko|Ubuntu|Ultra|Yanone+Kaffeesatz|Alex+Brush|Dancing+Script|Dawning+of+a+New+Day|Great+Vibes|Jura|Sail|Satisfy|UnifrakturMaguntia|Zilla+Slab+Highlight');
@import url('https://fonts.googleapis.com/css?family=EB+Garamond:400,400i,500,500i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,latin-ext');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: Franklin Gothic Heavy;
    src: local("Franklin Gothic Heavy"), url(https://forumstatic.ru/files/0010/a8/ca/92110.ttf);
}

@font-face {
    font-family: 'Intro';
    font-style: normal;
    font-weight: normal;
    src: local('Intro'), url('https://forumstatic.ru/files/0019/34/94/34318.woff') format('woff');
}

@font-face {
    font-family: icon;
    src: local("icon"), url(https://forumstatic.ru/files/0017/c0/20/82953.ttf);
}

@font-face {
    font-family: "Material Icons";
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v74/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1n-q_4MrImHCIJIZrDCvHOej.woff2) format("woff2");
}

@font-face {
    font-family: Segoe Ui;
    src: local("Segoe Ui"), url(https://forumstatic.ru/files/0017/c0/20/61080.ttf);
}

@font-face {
    font-family: 'Icons';
    font-weight: light;
    font-style: normal;
    src: local('Icons'), url('https://forumstatic.ru/files/001b/67/90/67409.woff') format('woff');
}

@font-face {
    font-family: 'PortRegular';
    font-style: normal;
    font-weight: light;
    src: local('Port Regular'), url('https://forumstatic.ru/files/0015/44/02/83343.woff') format('woff');
}

@font-face {
    font-family: 'Cormorant';
    font-style: normal;
    font-weight: 300;
    src: local('Cormorant Garamond'), url('https://forumstatic.ru/files/0019/34/94/60615.ttf') format('truetype');
}

@font-face {
    font-family: 'Cormorant';
    font-style: italic;
    font-weight: 300;
    src: local('Cormorant Garamond'), url('https://forumstatic.ru/files/0019/34/94/92949.ttf') format('truetype');
}

@font-face {
    font-family: 'Source Serif Pro';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(https://forumstatic.ru/files/0019/34/94/84846.woff2) format('woff2');
}


/*************************************************************
  1. БАЗА
**************************************************************/

/* 1.1 Сброс
-------------------------------------------------------------*/

html, body {
    margin: 0;
    padding: 0 10px;
}

body {
    font-size: 100.01%;
    overflow-x: hidden;
}

.punbb {
    float: none;
    height: auto;
    margin: 0 auto;
    font: normal 68.75% verdana, arial, helvetica, sans-serif;
}

#pun-main {
    margin: 0;
}

.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
    list-style: none;
}

dd, blockquote {
    margin: 0;
}

.punbb img {
    border: none;
}

/* 1.2 Текст
-------------------------------------------------------------*/

.punbb h1, .punbb h2, .punbb h3, .punbb h4 {
    font-size: 10px;
    font-weight: normal;
}

.punbb table, .punbb th {
    font-weight: normal;
    margin: auto;
}

.punbb pre {
    font: 1.1em/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace;
}

.punbb address, .punbb em {
    font-style: normal;
}

.punbb optgroup {
    font-weight: bold;
}

.punbb label {
    line-height: 20px;
    color: var(--primary-text-color);
}

/* основной цвет текста в блоках форума */
.punbb .section .container, .punbb .post-body, .punbb .post-links, .punbb td.tc2, .punbb td.tc3,
.punbb .formal fieldset .post-box, #viewprofile li strong, #viewprofile li div, #setmods dd,
.punbb .info-box, .punbb #pun-main .info-box .legend, .punbb .main .container, .punbb .post .container,
.punbb .post h3, .punbb-admin #pun-admain .adcontainer, #pun-stats h2, .punbb .main h2, #pun-title,
#pun-title .container, .punbb .modmenu .container, .punbb legend span, #viewprofile h2 span,
#profilenav h2 span, .punbb-admin #pun-admain legend span, .punbb .post h3 span, .punbb th,
#viewprofile li, #setmods dl {
    color: var(--primary-text-color);
    font-style: normal;
}

/* 1.3 Заголовки разделов
-------------------------------------------------------------*/

.punbb .main h1, #pun-debug h2, .punbb-admin #pun-admain h2 {
    text-align: center;
    padding: 6px;
    font-size: 12px;
    font-style: normal;
}

.main h1 span {
    font-family: var(--typer);
    font-size: 14px;
    letter-spacing: 0.7px;
}

.main.pages h1 {
    height: 16px !important;
}

.main h2 span {
    margin-left: 5%;
    font-family: var(--font-basic);
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: var(--primary-text-color);
}

#pun th, #pun-main h2 {
    text-align: center !important;
    letter-spacing: 1px;
}

/* 1.4 Ссылки
-------------------------------------------------------------*/

.punbb a, .punbb a:link, .punbb a:visited,
.punbb-admin #pun-admain a,
.punbb li.isactive a, .punbb li.isactive a:link, .punbb li.isactive a:visited {
    color: inherit;
    text-decoration: none;
}

.punbb a:hover {
    color: var(--red);
}

.punbb a:focus {
    color: var(--red);
    filter: none !important;
}

.punbb a:active, .punbb-admin #pun-admain .nodefault {
    color: var(--red) !important;
}

/* 1.5 Служебное: обтекание и скрытое
-------------------------------------------------------------*/

#pun:after,
.punbb .container:after,
.punbb .post-links ul:after,
.punbb .main div.inline:after,
.punbb .post-box:after,
.punbb .linksb:after {
    content: ".";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
    overflow: hidden;
    line-height: 0;
    font-size: 0;
}

/* скрыто для глаз, остаётся для скринридеров */
.acchide,
#pun-index #pun-main h1,
#pun-navlinks h2,
#pun-pagelinks h2,
#pun-status h2,
#pun-ulinks h2,
.punbb .forum h2,
.punbb .multipage .topic h2,
.punbb dl.post-sig dt span,
.punbb p.crumbs strong,
.punbb .divider hr,
.punbb .required label em,
.punbb .formsubmit label,
.punbb .submitfield label,
.punbb .modmenu label,
#pun-userlist .main h2 {
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
}

/* отключённые элементы платформы */
#pun-live-rusff,
#title-logo-table,
#pun-navlinks #navawards,
#pun-announcement h2,
#pun-index #pun-crumbs1,
#pun-index #pun-crumbs2,
#pun-messages .pa-reg,
.modmenu .container span,
.modlist,
.lastedit,
.pa-gifts,
.stickytext,
.closedatafield,
.admin-advert-block {
    display: none;
}

.sharelink {
    display: none !important;
}

#pun-stats h2 span {
    visibility: hidden;
}


/*************************************************************
  2. КАРКАС СТРАНИЦЫ
**************************************************************/

#pun_wrap {
    min-width: 1100px;
}

/* лист */
#pun {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 40px auto;
    background: var(--paper);
    border: 2px solid var(--ink);
    box-shadow: 0 8px 30px var(--shadow), inset 0 0 0 6px var(--paper), inset 0 0 0 7px rgba(0, 0, 0, .5);
}

#pun .punbb {
    width: 1100px;
    margin: auto;
}

.punbb .section, .punbb .main {
    margin-bottom: 1em;
}

.punbb .category, .punbb .post {
    margin: 0;
}

.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
    margin-top: 0;
}

#pun-post .topic {
    margin-top: 1em;
}

/* без рамок у блоков */
.punbb .section, .punbb .forum, .punbb .formal, .punbb .modmenu, .punbb .info,
.punbb .category, .punbb .post {
    border-style: none;
    border-width: 0;
}

.punbb .container {
    border-style: none;
    border-width: 0;
}

#pun-admain .adformal, #pun-admain .adcontainer {
    border: none;
}

.punbb .formal {
    padding-top: 20px;
}

/* прозрачные рамки, где платформа рисует свои */
.punbb .container, .punbb .post-body, .post h3,
.punbb .main h1, #pun-debug h2, .punbb-admin #pun-admain h2,
.punbb td, .punbb th, .punbb fieldset,
#viewprofile ul, #profilenav ul,
.punbb .post .post-body, .punbb .post h3 span,
.post-links ul, .post-links, .usertable table,
#pun-ulinks li, #pun-ulinks li a,
li#onlinelist, li#onlinelist div,
#pun-help .formal .info-box h3.legend, #pun-help .formal .info-box h3.legend span,
.punbb .divider {
    border-color: transparent;
}


/*************************************************************
  3. ШАПКА
**************************************************************/

/* 3.1 Контейнер и ссылки-пропуски
-------------------------------------------------------------*/

#pun-title {
    position: relative;
    left: 50%;
    width: 1000px;
    margin: -84px;
    padding: 0;
    transform: translateX(-50%);
    border: none;
    border-radius: 20px;
    background: none;
}

#pun-pagelinks {
    position: absolute;
    top: 55px;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

#pun-pagelinks .container {
    padding: 0;
    border: none;
    background: transparent;
}

#pun-pagelinks .container li {
    display: inline;
}

#pun-pagelinks li a, #pun-pagelinks a:link, #pun-pagelinks a:hover {
    display: block;
    float: left;
    width: 100%;
    height: 2em;
    margin-left: -9999px;
    padding: 0;
    line-height: 2em;
    font-size: 1.2em;
}

#pun-pagelinks a:active, #pun-pagelinks a:focus {
    position: relative;
    margin: 0;
}

#pun-pagelinks li a span {
    display: block;
    margin: 0 1em;
}

/* 3.2 Строка приветствия
-------------------------------------------------------------*/

#pun-status .container {
    position: absolute;
    top: 4px;
    z-index: 2;
    width: 1100px;
    height: 10px;
    text-align: center;
    font-family: var(--typer);
    font-size: 9px;
    font-weight: 400;
    text-transform: lowercase;
    color: var(--blue);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#pun-status .status-right {
    float: unset !important;
}

#pun-status span {
    margin-right: 0.5em;
}

/* 3.3 Навигация
-------------------------------------------------------------*/

#pun-navlinks {
    position: absolute;
    top: 104px;
    width: 1100px;
    margin: 0;
}

#pun-navlinks .container {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0;
    padding: 0;
    background: rgba(59, 91, 138, .08);
    border: 1px solid var(--ink);
    border-top: none;
}

#pun-navlinks li {
    position: relative;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    min-width: 0;
}

#pun-navlinks li + li {
    border-left: 1px solid rgba(0, 0, 0, .4);
}

#pun-navlinks li a {
    display: block;
    padding: 9px 14px;
    text-align: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
}

#pun-navlinks li a:hover {
    background: var(--ink);
    color: var(--paper);
}

/* пользовательские ссылки */
#pun-ulinks {
    position: absolute;
    top: 137px;
    z-index: 2;
    width: 1100px;
    text-align: center;
}

#pun-ulinks .container {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--ink);
    border-top: none;
}

#pun-ulinks li {
    position: relative;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    min-width: 0;
}

#pun-ulinks li + li {
    border-left: 1px solid rgba(0, 0, 0, .4);
}

#pun-ulinks li a {
    display: block;
    padding: 6px 2px;
    text-align: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .7);
    overflow: hidden;
    text-overflow: ellipsis;
}

#pun-ulinks li a:hover {
    background: var(--ink);
    color: var(--paper);
}

/* счётчики уведомлений и сообщений */
.bubble {
    top: 17px !important;
    right: 2px !important;
    min-width: 80px !important;
    min-height: 10px !important;
    vertical-align: middle;
    background: var(--red) !important;
    border: 0 none !important;
    border-radius: 0 !important;
    font: 8px/1.6 Verdana !important;
    line-height: 10px !important;
}

.bubble:after {
    border-color: transparent !important;
    border-width: 0 !important;
}

.num_msg {
    display: inline-block;
    vertical-align: middle;
    margin-top: -43px !important;
    margin-left: 129px !important;
    padding: 1px 4px !important;
    line-height: 1.4;
    font-family: var(--typer);
    letter-spacing: 0.1em;
    background-color: var(--red) !important;
    color: var(--paper) !important;
    border: 1px solid var(--red) !important;
}

span.num_msg:before {
    width: 0 !important;
    height: 0 !important;
    transform: none !important;
    background: transparent;
}

.num_msg:hover {
    filter: grayscale(1);
}

/* 3.4 Фоновые картинки шапки
   Один общий механизм для титула и всех ячеек таблицы.
   Какие картинки и где — задаётся в style_cs.1793375181.css, раздел 6.
   Картинка лежит в ::before под содержимым, поэтому фильтр
   под тему не затрагивает текст.
-------------------------------------------------------------*/

.v-titlebar::before,
.v-logchart .v-cell::before {
    content: "";
    position: absolute;
    inset: var(--v-bg-inset, 0);
    z-index: 0;
    background-image: var(--v-bg-img, none);
    background-repeat: no-repeat;
    background-position: var(--v-bg-pos, center);
    background-size: var(--v-bg-size, cover);
    transform: var(--v-bg-flip, none);
    filter: var(--bg-filter, none);
    mix-blend-mode: darken;
    opacity: var(--v-bg-opacity, 1);
    -webkit-mask-image: var(--v-bg-mask, none);
    mask-image: var(--v-bg-mask, none);
    pointer-events: none;
}

/* содержимое — над картинкой */
.v-titlebar > *,
.v-logchart .v-cell > * {
    position: relative;
    z-index: 1;
}

/* какая ячейка берёт какой слот */
.v-titlebar {
    --v-bg-img: var(--bg-title, none);
    --v-bg-pos: var(--bg-title-pos, center);
    --v-bg-mask: var(--bg-title-mask, none);
    --v-bg-flip: var(--bg-title-flip, none);
    --v-bg-inset: 4px; /* внутри двойной рамки */
}

.v-logchart .v-admins {
    --v-bg-img: var(--bg-admins, none);
    --v-bg-pos: var(--bg-admins-pos, center);
    --v-bg-mask: var(--bg-admins-mask, none);
    --v-bg-opacity: var(--bg-admins-opacity, 1);
}

.v-logchart .v-bestpost {
    --v-bg-img: var(--bg-post, none);
    --v-bg-pos: var(--bg-post-pos, center);
    --v-bg-mask: var(--bg-post-mask, none);
    --v-bg-opacity: var(--bg-post-opacity, 1);
}

.v-logchart .v-toppost {
    --v-bg-img: var(--bg-top, none);
    --v-bg-pos: var(--bg-top-pos, center);
    --v-bg-mask: var(--bg-top-mask, none);
    --v-bg-opacity: var(--bg-top-opacity, 1);
}

.v-logchart .v-awards {
    --v-bg-img: var(--bg-awards, none);
    --v-bg-pos: var(--bg-awards-pos, center);
    --v-bg-mask: var(--bg-awards-mask, none);
    --v-bg-flip: var(--bg-awards-flip, none);
}

/* 3.5 Титул
-------------------------------------------------------------*/

.v-titlebar {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    width: 1068px;
    margin: 30px 0 81px;
    padding: 0 16px;
    border: 1.5px solid var(--ink);
    box-shadow: inset 0 0 0 3px var(--paper), inset 0 0 0 4px var(--ink);
    pointer-events: none;
    user-select: none;
}

.v-titlebar .v-meta {
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.v-titlebar .v-meta.right {
    text-align: right;
}

.v-titlebar h1 {
    text-align: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 24px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em;
}

/* 3.6 Справочник: выпадающие ссылки, клубы, погода, топ
   Всё в одной строке и в общем потоке, без абсолютных координат:
   при масштабе строка переносится, а не наезжает.
-------------------------------------------------------------*/

.table-links {
    position: relative;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    padding: 7px 10px;
    border-top: 1px solid var(--ink);
    border-bottom: 1px solid var(--ink);
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.table-links-label {
    white-space: nowrap;
    color: rgba(0, 0, 0, .55);
    pointer-events: none;
    user-select: none;
}

.dropdown {
    position: relative;
    display: inline-block;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.dropdown-toggle {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    padding: 3px 9px;
    border: 1px solid var(--ink);
    background: var(--paper-2);
    cursor: pointer;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink);
}

button.dropdown-toggle * {
    pointer-events: none;
}

.dropdown-toggle .v-pop-num {
    font-weight: 700;
    color: var(--red);
}

.dropdown-toggle .v-pop-caret {
    margin-left: 2px;
    color: var(--red);
}

.dropdown-toggle .v-pop-caret::after {
    content: '[+]';
}

/* открытый список */
.dropdown:has(.dropdown-menu.show) .dropdown-toggle {
    background: var(--ink);
    color: var(--paper);
}

.dropdown:has(.dropdown-menu.show) .dropdown-toggle .v-pop-caret::after {
    content: '[-]';
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 50;
    min-width: 260px;
    padding: 10px 12px 12px;
    background: var(--paper);
    border: 1.5px solid var(--ink);
    box-shadow: 6px 8px 0 rgba(0, 0, 0, .12), 0 14px 30px rgba(0, 0, 0, .25);
}

.dropdown-menu.show {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 16px;
}

/* уголок-стрелка */
.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 18px;
    width: 14px;
    height: 14px;
    background: var(--paper);
    border-top: 1.5px solid var(--ink);
    border-left: 1.5px solid var(--ink);
    transform: rotate(45deg);
}

.dropdown-menu a {
    border-bottom: 1px solid rgba(0, 0, 0, .35);
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
}

.dropdown-menu a:hover {
    color: var(--red);
    border-color: var(--red);
}

/* правая часть строки: клубы, погода, топ */
.table-links-extra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 26px;
    margin-left: auto;
}

#clubs {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 20px;
}

#clubs a {
    white-space: nowrap;
    border-bottom: 1px solid transparent;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--red);
    transition: border-color .15s;
}

#clubs a:hover {
    border-bottom-color: var(--red);
}

/* метка «новое»: в HTML клубу добавляется class="new" */
#clubs .new a::after {
    content: "\00A0\2022";
    vertical-align: super;
    font-size: 7px;
}

#weather {
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--ink);
}

#weather::before {
    content: "\2192\00A0";
    color: var(--red);
}

#weather::after {
    content: "\00A0\2190";
    color: var(--red);
}

/* кнопка топа — сейчас скрыта; чтобы показать, убрать display: none */
#top-button {
    display: none;
    line-height: 0;
    opacity: 0.5;
}

#top-button:hover {
    opacity: 1;
}

/* 3.7 Таблица: администрация, пост недели, активисты, победители
-------------------------------------------------------------*/

.v-logchart {
    --v-rule: rgba(0, 0, 0, .18);
    --v-photo: grayscale(1) sepia(.25) contrast(1.05);

    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.4fr) minmax(0, 1.3fr);
    grid-template-areas:
        "admins best top"
        "awards awards awards";
    border: 1px solid var(--ink);
    font-size: 12px;
    line-height: 1.4;
}

.v-logchart .v-cell {
    position: relative;
    min-width: 0;
    padding: 12px 14px;
}

.v-logchart .v-admins   { grid-area: admins; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.v-logchart .v-bestpost { grid-area: best;   border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.v-logchart .v-toppost  { grid-area: top;    border-bottom: 1px solid var(--ink); }
.v-logchart .v-awards   { grid-area: awards; overflow: hidden; }

/* метка ячейки: одна строка с линией снизу */
.v-logchart .v-cell > .v-cell-label,
.v-logchart .v-awards-head {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
}

.v-logchart .v-cell-label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .85;
    pointer-events: none;
    user-select: none;
}

/* подсказки внутри таблицы открываются вниз:
   вверх они уходили бы под строку справочника */
.v-logchart [data-tip]::after {
    top: calc(100% + 4px);
    bottom: auto;
}

/* 00: администрация */
.v-logchart #ams-list ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(66px, 1fr));
    column-gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.v-logchart #ams-list li {
    min-width: 0;
    margin: 0;
    padding: 2px 0 1px;
    border-bottom: 1px solid var(--v-rule);
    overflow-wrap: anywhere;
    font-family: var(--serif);
    font-size: 12px;
    text-transform: capitalize;
}

.v-logchart #ams-list a {
    color: inherit;
}

.v-logchart #ams-list .tooltip {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

/* скрыта через visibility, а не display: none —
   картинка грузится заранее и не мигает при наведении */
.v-logchart #ams-list .tooltip em {
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    z-index: 30;
    transform: translateX(-50%);
    padding: 5px 5px 4px;
    background: var(--paper);
    border: 1px solid var(--ink);
    text-align: center;
    white-space: nowrap;
    font-style: normal;
    pointer-events: none;
}

.v-logchart #ams-list .tooltip:hover em,
.v-logchart #ams-list .tooltip:focus-within em {
    visibility: visible;
    opacity: 1;
}

.v-logchart #ams-list .tooltip em img {
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto 4px;
    object-fit: cover;
    background: var(--paper);
    filter: var(--v-photo);
}

.v-logchart #ams-list .avaktg {
    display: block;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: .05em;
    text-transform: none;
}

/* 01: пост недели */
.v-logchart #best-post-content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-family: var(--serif);
    font-size: 12px;
    font-style: italic;
    line-height: 21px;
    background: repeating-linear-gradient(transparent 0 20px, rgba(59, 91, 138, .12) 20px 21px);
}

.v-logchart .v-bestpost-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 12px;
    margin-top: 8px;
}

.v-logchart #best-post-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

.v-logchart #best-post-name a {
    display: inline-block;
    transform: rotate(-1.5deg);
    font-family: var(--hand);
    font-size: 17px;
    line-height: 1.1;
    color: var(--blue);
}

.v-logchart #best-post-name a:hover {
    color: var(--red);
}

.v-logchart #best-post-link a {
    display: inline-block;
    padding: 3px 8px;
    border: 1px solid var(--red);
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--red);
}

.v-logchart #best-post-link a:hover {
    opacity: .7;
}

/* 02: активисты — колонок столько, сколько влезает; длинное имя переносится, а не обрезается */
.v-logchart #best-writers {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
    column-gap: 14px;
    counter-reset: w;
}

.v-logchart #best-writers a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 6px;
    padding: 2px 0 1px;
    border-bottom: 1px solid var(--v-rule);
    color: inherit;
    counter-increment: w;
}

.v-logchart #best-writers a::before {
    content: counter(w, decimal-leading-zero);
    font-family: var(--typer);
    font-size: 9px;
    color: var(--red);
}

.v-logchart .best-writers-name {
    min-width: 0;
    overflow-wrap: anywhere;
    font-family: var(--serif);
    font-size: 12px;
}

.v-logchart #best-writers .count {
    font-family: var(--typer);
    font-size: 9px;
    opacity: .7;
}

/* 03: победители */
.v-logchart .v-awards-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 6px 16px;
    max-width: 560px;
}

.v-logchart .v-awards-head .v-cell-label {
    min-width: 0;
    margin: 0;
}

.v-logchart .v-stamp {
    padding: 2px 7px;
    border: 1.5px dashed var(--red);
    transform: rotate(-3deg);
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--red);
    pointer-events: none;
    user-select: none;
}

/* билет занимает столько, сколько нужно, но не шире 440px */
.v-logchart .v-awards-hero {
    display: grid;
    grid-template-columns: fit-content(440px) minmax(0, 1fr);
    align-items: end;
    gap: 24px;
    padding-top: 12px;
}

.v-logchart .v-hero-ticket {
    position: relative;
    display: flex;
    align-items: stretch;
    min-width: 0;
    background: var(--paper);
    border: 1px solid var(--ink);
    box-shadow: 2px 3px 0 rgba(0, 0, 0, .08);
}

.v-logchart .v-hero-ep,
.v-logchart .v-hero-pl {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 10px 14px;
}

.v-logchart .v-hero-text {
    min-width: 0;
}

/* длинные названия: перенос, не больше двух строк */
.v-logchart .v-hero-ep a,
.v-logchart .v-hero-pl a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    color: inherit;
}

.v-logchart .v-hero-ep {
    border-right: 1.5px dashed var(--ink);
}

/* вырубка на линии отрыва */
.v-logchart .v-hero-ep::after {
    content: "";
    position: absolute;
    right: -7px;
    bottom: -7px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--ink);
    background: var(--paper);
}

.v-logchart .v-hero-ep .v-cell-label {
    margin-bottom: 4px;
}

.v-logchart .v-hero-ep a {
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

/* игрок и корешок «контроль» */
.v-logchart .v-hero-pl {
    padding-top: 16px;
    padding-right: 34px;
}

.v-logchart .v-hero-pl::after {
    content: "контроль";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 22px;
    background: var(--red);
    color: var(--paper);
    writing-mode: vertical-rl;
    text-align: center;
    line-height: 22px;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: .25em;
    text-transform: uppercase;
}

.v-logchart .v-hero-cat {
    margin-bottom: 4px;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--red);
    pointer-events: none;
    user-select: none;
}

.v-logchart .v-hero-pl a {
    font-family: var(--typer);
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: .04em;
    text-transform: capitalize;
}

/* штамп на верхнем крае билета, не заходит на текст */
.v-logchart .v-hero-stamp {
    position: absolute;
    top: -10px;
    right: 30px;
    z-index: 2;
    padding: 2px 8px;
    border: 1.5px solid var(--red);
    background: var(--paper);
    transform: rotate(-4deg);
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--red);
    pointer-events: none;
    user-select: none;
}

/* фото в билете; пустой src — картинки нет */
.v-logchart .v-ticket-img {
    display: block;
    flex-shrink: 0;
    object-fit: cover;
    border: 1px solid var(--ink);
    filter: var(--v-photo);
    transition: filter .3s;
}

.v-logchart .v-ticket-img[src=""] {
    display: none;
}

.v-logchart #best-ep .v-ticket-img     { width: 88px; height: 54px; }
.v-logchart #best-player .v-ticket-img { width: 44px; height: 54px; }

.v-logchart .v-hero-ticket .headerImg:hover .v-ticket-img {
    filter: none;
}

/* вклеенные фото победителей */
.v-logchart .v-awards-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px 12px;
    min-width: 0;
}

.v-logchart .v-tag {
    position: relative;
    padding: 4px 4px 15px;
    background: var(--paper);
    border: 1px solid var(--ink);
    box-shadow: 1px 2px 4px rgba(0, 0, 0, .18);
    transform: rotate(-1.5deg);
}

.v-logchart .v-tag:nth-child(even) {
    transform: rotate(1.2deg);
}

/* полоска скотча */
.v-logchart .v-tag::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    z-index: 2;
    width: 26px;
    height: 10px;
    background: rgba(var(--paper-2-rgb), .8);
    border: 1px solid rgba(0, 0, 0, .08);
    transform: translateX(-50%) rotate(-4deg);
}

.v-logchart .v-tag a {
    display: block;
}

.v-logchart .v-tag img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: cover;
    filter: var(--v-photo);
    transition: filter .3s;
}

.v-logchart #best-duo img {
    width: 104px;
}

.v-logchart .v-tag:hover img {
    filter: none;
}

.v-logchart .v-tag-cat {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3px;
    text-align: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: .14em;
    text-transform: uppercase;
    pointer-events: none;
}

.headerImg {
    z-index: 2;
}

.headerImg a {
    filter: none !important;
}

/* у фото победителей — вверх: внизу ячейка обрезает */
.v-logchart .v-awards [data-tip]::after {
    top: auto;
    bottom: calc(100% + 4px);
}

/* 3.8 Подсказки по data-tip (шапка и где угодно ещё)
-------------------------------------------------------------*/

[data-tip] {
    position: relative;
}

[data-tip]::after {
    content: attr(data-tip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    z-index: 30;
    transform: translateX(-50%);
    padding: 3px 8px;
    background: var(--paper);
    border: 1px solid var(--ink);
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .05em;
    text-transform: none;
    color: var(--ink);
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none;
}

[data-tip]:hover::after {
    opacity: 1;
}

/* 3.9 Приглушённый свет
-------------------------------------------------------------*/

.dim-button {
    position: absolute;
    top: -14px;
    right: -10px;
    z-index: 10000;
    width: 17px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: center;
    font-size: 15px;
    filter: sepia(60%);
    opacity: 0; /* скрыта, пока скрипт не выставит значок */
    transition: background 0.3s, transform 0.3s, opacity 0.3s;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

.dim-button.ready {
    opacity: 0.7;
}

.dim-button:hover {
    background: transparent;
    transform: scale(1.1);
}

.dim-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.dim-overlay.active {
    opacity: 1;
}

/*************************************************************
  4. ОБЪЯВЛЕНИЯ
**************************************************************/

#pun-announcement .container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    width: 1066px;
    min-height: 20px;
    margin: 84px auto 0;
    padding: 14px 16px 16px;
    border: 1.5px solid var(--ink);
    background: var(--paper);
    text-align: center;
    line-height: 2.1;
    font-family: var(--typer);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* ссылки-новости */
.sacobl {
    display: inline-block;
    margin: 0 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .35);
}

.sacobl:before {
    content: "\00B7";
    display: inline-block;
    margin-right: 6px;
    color: var(--red);
}

.sacobl:hover,
.sacobl:focus-visible {
    color: var(--red) !important;
}

/* важные */
.sacobl_imp {
    margin: 0 10px;
    padding-bottom: 1px;
    border-bottom: 2px solid var(--red);
    font-weight: 700;
    color: var(--red) !important;
}

.sacobl_imp:hover,
.sacobl_imp:focus-visible {
    background: var(--red);
    border-color: var(--red);
    color: var(--paper) !important;
}

.sacobl-divider {
    width: 100%;
    margin: 14px 0;
    border-bottom: 1px dashed rgba(0, 0, 0, .4);
}


/*************************************************************
  5. ГЛАВНАЯ И СПИСКИ ТЕМ
**************************************************************/

/* 5.1 Категории
-------------------------------------------------------------*/

#pun-index {
    counter-reset: category;
}

#pun-main .category h2 {
    position: relative;
    display: flex;
    align-items: center;
}

#pun-index .category h2 {
    height: 50px;
    counter-increment: category;
}

#pun-main .category h2 span {
    position: relative;
    display: block;
    width: 1100px;
    margin: 0;
    padding: 4px 14px 4px 0;
    border-bottom: 1px solid var(--ink);
    text-align: left;
    font-family: var(--typer);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
}

#pun-main.main.mod-page .category h2 span {
    display: none !important;
}

#pun-main .category h2 .catleft {
    flex-shrink: 0;
    padding: 0 6px 0 50px;
    font-family: var(--typer);
    font-size: 14px;
    font-weight: 700;
    color: var(--red);
}

#pun-main .category h2 .catleft::after {
    content: "// ";
}

#pun-main .category h2 .catright {
    flex-shrink: 0;
    margin-left: auto;
    margin-right: 80px;
    padding: 3px 8px;
    border: 1px solid var(--blue);
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.2em;
    color: var(--blue);
}

#pun-main .category h2 .catright::after {
    content: "FILE \2116" counter(category, decimal-leading-zero);
}

/* подфорумы с подложкой */
#pun-index tbody.hasicon {
    position: relative;
    display: block;
    padding: 0 40px 28px;
    border-top: 10px solid var(--ink);
}

#pun-index .category table thead {
    display: none;
}

/* 5.2 Таблицы форумов и тем
-------------------------------------------------------------*/

.punbb .main .category table, .punbb .main .forum table, .punbb .main .section table {
    table-layout: fixed;
    width: 96%;
    margin: 0 20px;
    background: var(--paper);
}

.category table {
    border: 1.5px solid var(--ink);
}

.punbb .main .forum table thead {
    background-color: var(--ink);
}

.punbb .main .forum table th {
    padding: 6px 3px;
    font-family: var(--typer);
    color: var(--paper) !important;
}

.punbb .main .forum table .tcr a {
    margin-top: 2px;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.punbb .main .forum table .tcr .byuser {
    font-family: var(--typer);
    font-size: 11px;
    font-style: italic;
    line-height: 1.8em;
    color: var(--ink);
}

.punbb .main td {
    padding: 0.8em 0;
    border-style: solid none none solid;
    border-width: 1px 0 0 1px;
}

/* колонки */
#pun-index .main .tcl {
    width: 70%;
    text-align: left !important;
}

#pun-index .main .tc2, #pun-index .main .tc3 {
    display: none;
}

#pun-viewforum .tc2, #pun-viewforum .tc3 {
    width: 7%;
    text-align: center;
    background-color: transparent;
}

.punbb .main .category .tcr {
    text-align: left;
}

#pun-index .main .tcr {
    width: 30%;
    overflow: hidden;
    padding-right: 5px;
    text-align: left !important;
    background-color: transparent;
    font-family: var(--font-accent);
    font-size: 10px;
    text-transform: lowercase;
}

/* название подфорума */
#pun-index .tcl h3 {
    margin-bottom: 4px;
    font-family: var(--typer);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: none;
}

#pun-index .tcl h3 a {
    color: inherit;
    text-decoration: none;
}

#pun-index .tcl h3 a:hover {
    color: var(--red);
}

#pun-index td div.tclcon {
    padding-top: 7px;
    padding-right: 70px;
    font-size: 8px;
    line-height: 11px;
}

.tclcon .Add {
    font-family: var(--typer);
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
}

.punbb .category div.intd {
    position: relative;
    height: 100%;
    box-shadow: none;
}

.punbb td span.youposted {
    position: absolute;
    margin-left: -1em;
    font-weight: bold;
}

/* последнее сообщение */
.tcr .lastpost-link {
    display: inline-block;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--blue);
    font-family: var(--typer);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--blue) !important;
}

.tcr .lastpost-link:hover {
    color: var(--red) !important;
}

.category td.tcr {
    font-size: 0 !important;
}

.category td.tcr .datetime {
    display: block;
    margin-top: 2px;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

#pun .category td.tcr .byuser {
    font-size: 11px;
    font-style: italic;
    line-height: 1.8em;
    color: var(--ink);
}

/* аватар в последнем сообщении */
.punbb .user-avatar {
    float: left !important;
    margin: 1px 16px 2px 10px !important;
}

.punbb .user-avatar .avatar-image {
    width: 30px !important;
    height: 30px !important;
    border-radius: 5% !important;
    outline: solid 1px var(--red);
}

.punbb .user-avatar a:hover {
    filter: none;
}

.punbb .user-avatar .isonline {
    top: -4px !important;
    right: -3px !important;
    background: none !important;
    animation: none !important;
    -webkit-animation: none !important;
}

.punbb .usersname {
    padding: 20px !important;
    font-size: 12px;
    line-height: 36px;
}

.punbb .byuser {
    line-height: 15px;
}

.lastpost .byuser {
    line-height: 10px;
}

/* 5.3 Значки статуса тем
-------------------------------------------------------------*/

:root {
    --topic-icon-size: 12px;
}

.forum .tcl .intd, #messages .tcl .intd {
    display: flex;
    gap: 10px;
}

#pun-viewforum td.tcl .intd,
#pun-messages td.tcl .intd {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#pun-viewforum td.tcl .tclcon,
#pun-messages td.tcl .tclcon {
    flex: 1 1 auto;
    min-width: 0;
}

#pun-viewforum td.tcl .intd > .icon,
#pun-messages td.tcl .intd > .icon {
    position: relative;
    display: inline-block !important;
    flex: 0 0 var(--topic-icon-size) !important;
    width: var(--topic-icon-size) !important;
    min-width: var(--topic-icon-size) !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 2px;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    animation: none !important;
    transition: none !important;
    font-family: var(--typer);
    font-size: 10px;
    line-height: 1;
    color: rgba(0, 0, 0, .3);
}

/* обычная — тире */
#pun-viewforum td.tcl .intd > .icon::after,
#pun-messages td.tcl .intd > .icon::after {
    content: "\2013";
    display: block;
    text-align: center;
}

/* новое — красная точка */
#pun-viewforum tr.inew td.tcl .intd > .icon,
#pun-viewforum td.tcl .intd > .icon.icon-new,
#pun-messages tr.inew td.tcl .intd > .icon {
    background: none !important;
    color: var(--red) !important;
}

#pun-viewforum tr.inew td.tcl .intd > .icon::after,
#pun-messages tr.inew td.tcl .intd > .icon::after {
    content: "\25CF";
    margin-top: 2px;
    font-size: 7px;
}

/* закреплённое — звезда */
#pun-viewforum tr.isticky td.tcl .intd > .icon,
#pun-messages tr.isticky td.tcl .intd > .icon {
    background: none !important;
    box-shadow: none !important;
    color: var(--red);
}

#pun-viewforum tr.isticky td.tcl .intd > .icon::after,
#pun-messages tr.isticky td.tcl .intd > .icon::after,
#pun-viewforum tr.isticky.inew td.tcl .intd > .icon::after,
#pun-messages tr.isticky.inew td.tcl .intd > .icon::after {
    content: "\2605";
    font-size: 10px;
}

/* закрытое — крест */
#pun-viewforum tr.iclosed td.tcl .intd > .icon,
#pun-messages tr.iclosed td.tcl .intd > .icon {
    background: none !important;
    box-shadow: none !important;
    color: rgba(0, 0, 0, .4);
}

#pun-viewforum tr.iclosed td.tcl .intd > .icon::after,
#pun-messages tr.iclosed td.tcl .intd > .icon::after {
    content: "\00D7";
    font-size: 12px;
}

/* главная: вертикальная метка READ / NEW */
#pun-index .tcl .intd {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#pun-index .tcl .intd > .tclcon {
    flex: 1 1 auto;
    min-width: 0;
}

#pun-index .tcl .intd > .icon::before {
    content: "READ";
    position: absolute;
    top: 50px;
    left: -42px;
    padding: 3px 9px;
    border: 1.5px solid rgba(0, 0, 0, .55);
    background: var(--paper);
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3em;
    color: rgba(0, 0, 0, .55);
}

#pun-index .tcl .intd > .inew::before {
    content: "NEW";
    border-color: var(--red);
    color: var(--red);
}

#pun-index tr.inew .tcl .intd > .icon {
    background: var(--red);
    box-shadow: 0 0 2px 3px rgba(141, 175, 196, .25);
}

#pun-index tr.iclosed .tcl .intd > .icon {
    background: rgba(0, 0, 0, .35);
    box-shadow: none;
}


/*************************************************************
  6. СЛУЖЕБНЫЕ СТРАНИЦЫ И ТАБЛИЦЫ
**************************************************************/

/* 6.1 Пользователи
-------------------------------------------------------------*/

#pun-userlist .main .tcl,
#pun-modviewforum .main .tcl {
    width: 30%;
    background-color: transparent;
}

#pun-userlist .formal, #pun-userlist .formal .container {
    margin-bottom: 0;
    border-bottom: none;
}

#pun-userlist .usertable .container {
    padding: 0 1.5em 2.3em 1.5em;
    border-top: none;
}

#pun-userlist .usertable table {
    border-style: solid;
    border-width: 1px;
}

#pun-userlist .main th.tc2.title, #pun-userlist .main th.tc3.relation, #pun-userlist .main th.tc3.posts,
#pun-userlist .main th.tc3.registered, #pun-userlist .main th.tc3.last_visit {
    padding-left: 2px !important;
    text-align: left !important;
}

#pun-main.main.multipage div.usertable table .tcl.username, #pun-main.main.multipage div.usertable table .tc2.title,
#pun-main.main.multipage div.usertable table .tc3.relation, #pun-main.main.multipage div.usertable table .tc3.posts,
#pun-main.main.multipage div.usertable table .tc3.registered, #pun-main.main.multipage div.usertable table .tc3.last_visit {
    padding-left: 0 !important;
    text-align: center !important;
}

#pun-main.main.multipage div.usertable table .tcl.username, #pun-main.main.multipage div.usertable table .tc2.title {
    width: 30% !important;
}

#pun-main.main.multipage div.usertable table .tc3.posts, #pun-main.main.multipage div.usertable table .tc3.registered {
    width: 15% !important;
}

#pun-main.main.multipage div.usertable table .tcl.username span.usersname {
    font-size: 11px !important;
    line-height: 10px !important;
}

.usertable .tc3.last_visit  { width: 8% !important; }
.usertable .tc3.registered  { width: 15% !important; }
.usertable .tc2.title       { width: 15% !important; }
.usertable .tc3.posts       { width: 10% !important; }

.usertable .usersname {
    padding: 10px !important;
}

/* 6.2 Сейчас на форуме
-------------------------------------------------------------*/

.section.online-list .tcl.action, .section.online-list .tcl.username, .section.online-list .tc3 {
    padding-left: 20px;
}

.section.online-list .tcl.username { width: 40%; }
.section.online-list .tcl.action   { width: 50%; }
.section.online-list .tc3          { width: 10% !important; }

.section.online-list th {
    padding-left: 20px !important;
    text-align: left !important;
    font-weight: 700;
    letter-spacing: 1px;
}

.section.online-list .tc3.time {
    text-align: center !important;
}

/* 6.3 Активные темы, новые сообщения, поиск, репутация
-------------------------------------------------------------*/

.main.multipage.show_recent, .main.multipage.show_unanswered, .main.multipage.show_replies, .main.multipage.show_subscriptions {
    width: 100%;
    margin-left: 1% !important;
}

.main.multipage.show_recent .tcr, .main.multipage.show_unanswered .tcr, .main.multipage.show_replies .tcr, .main.multipage.show_subscriptions .tcr {
    width: 40% !important;
}

.main.multipage.show_new .tc3, .main.multipage.show_recent .tc3, .main.multipage.show_replies .tc3,
.main.multipage.show_unanswered .tc3, .main.multipage.show_subscriptions tc3 {
    padding-left: 12px;
    text-align: center;
}

.main.multipage .tcr {
    width: 15% !important;
}

.main.multipage .forum .tcr {
    width: 30% !important;
}

div#pun-main.main.multipage table .tcl {
    padding-left: 10px;
    border: none !important;
    text-align: left;
}

div#pun-main .forum table .tcl {
    width: 50%;
}

div#pun-main.main.multipage table .tc2 {
    text-align: center;
}

div .modal-inner .tc2 {
    width: 5% !important;
}

div#pun-main.main.multipage table .tc3 {
    width: 30% !important;
    text-align: center;
}

/* 6.4 Статистика форума (рекорды, топы)
-------------------------------------------------------------*/

#administration.section, #most_active.section, #most_connected.section, #most_invitations.sections,
#most_viewed_topics.section, #most_replied_topics.section {
    margin-left: 1%;
}

#administration th.tc2.tc-title, #administration th.tcl.tc-username, #most_active th.tcl.tc-username,
#most_active th.tcl.tc-title, #most_connected th.tcl.tc-username, #most_connected th.tcl.tc-title,
#most_viewed_topics th.tcl.tc-topic, #most_replied_topics th.tcl.tc-topic {
    padding-left: 0 !important;
    letter-spacing: 1px;
}

#most_viewed_topics td.tcl.tc-topic, #most_replied_topics td.tcl.tc-topic {
    padding-right: 5px;
}

#administration th.tc3.tc-registered, #administration th.tc3.tc-posts, #administration th.tc3.tc-lastvisit,
#most_active th.tc3.tc-registered, #most_active th.tc3.tc-posts, #most_active th.tc3.tc-percent,
#most_connected th.tc3.tc-registered, #most_connected th.tc3.tc-posts, #most_connected th.tc3.tc-timevisit,
#most_invitations th.tc3.tc-registered, #most_invitations th.tc3.tc-invites, #most_invitations th.tc3.tc-lastvisit,
#most_viewed_topics th.tc3.tc-replies, #most_viewed_topics th.tc3.tc-views,
#most_replied_topics th.tc3.tc-replies, #most_replied_topics th.tc3.tc-views {
    padding-left: 2px !important;
    text-align: left;
}

/* 6.5 Личные сообщения
-------------------------------------------------------------*/

.tcl.pmtcl1 {
    width: 30% !important;
}

.tc2.pmtc22 {
    width: 17% !important;
    text-align: center;
}

.tc3.pmtc33, .tc2.pmtc24 {
    text-align: center;
}

#messages .fs-box .container {
    width: 104% !important;
    margin-left: -60px !important;
    padding: 10px !important;
}

#messages .fs-box .container table {
    width: 100% !important;
}

.formal.messages-container #notify-settings {
    margin-left: 40px !important;
}

.formal.messages-container #post-form.formal {
    margin-left: -40px !important;
    margin-right: 50px;
}

/* 6.6 Инфо-панель
-------------------------------------------------------------*/

#info {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
    line-height: 1.7;
    color: rgba(0, 0, 0, .6);
}

#info td {
    padding: 10px 14px;
    vertical-align: top;
    border-left: 1px dashed rgba(0, 0, 0, .2);
}

#info td:first-child {
    width: 170px;
    border-left: none;
    text-align: center;
}

#info td:first-child img {
    display: block;
    margin: 0 auto;
    filter: sepia(0.1);
}

.info-link img:hover {
    filter: sepia(0.4);
    transition: filter .3s ease;
}

#info td:first-child strong {
    display: block;
    margin-top: 6px;
    font-family: var(--typer) !important;
    font-size: 8px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

#info td:nth-child(2) strong {
    font-family: var(--typer);
    font-weight: 400;
    letter-spacing: 0.05em;
    color: var(--ink);
}

#info td:nth-child(2) a strong {
    color: var(--red);
}

#info td:nth-child(2) a strong:hover {
    border-bottom: 1px solid var(--red);
}

#info td:nth-child(2) > strong:last-child {
    display: flex;
    gap: 6px;
    margin-top: 4px;
    letter-spacing: 0 !important;
}

#info td:nth-child(2) > strong:last-child a img {
    opacity: 0.5;
    transition: opacity .15s;
}

#info td:nth-child(2) > strong:last-child a:hover img {
    opacity: 1;
}

#info td:nth-child(3) {
    font-family: var(--typer);
    font-size: 8px;
    line-height: 2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .45);
}

#info td:nth-child(3) > strong:first-child {
    display: block;
    margin-bottom: 4px;
    padding-bottom: 4px;
    border-bottom: 1px dashed rgba(0, 0, 0, .2);
    color: var(--ink);
}

#info td:nth-child(3) strong {
    font-weight: 400;
    color: var(--ink);
}

#info td:nth-child(3) a {
    border-bottom: 1px solid transparent;
    color: rgba(0, 0, 0, .45);
    text-decoration: none;
}

#info td:nth-child(3) a:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

#pun-main #info strong a img {
    max-width: 20px;
}

/* 6.7 Опросы
-------------------------------------------------------------*/

.formal.vote-result {
    width: 95%;
    margin-left: 20px;
    padding-top: 0 !important;
}

#pun-main .vote-result h1 {
    margin: 13px 0 !important;
}

#poll-special td {
    padding: 0 12px;
}

.question td.tac strong {
    font-family: var(--typer);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink);
}

.poll2 {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.poll2 td {
    padding: 5px 8px;
    vertical-align: middle;
    border-bottom: 1px dotted rgba(0, 0, 0, .15);
    color: rgba(0, 0, 0, .55);
}

.poll2 tr.question td {
    padding: 8px 8px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
}

/* полоска результата */
.poll2 td:nth-child(2) h1 {
    min-width: 2px;
    height: 4px !important;
    margin: 0;
    padding: 0;
    background: var(--ink) !important;
    font-size: 1px !important;
    opacity: 0.7;
}

/* итого */
.poll2 tr:last-child td {
    padding-top: 6px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    border-bottom: none;
    text-align: center;
    color: rgba(0, 0, 0, .35);
}

.poll2 strong {
    font-weight: 400;
    color: var(--ink);
}

/* 6.8 Страница наград и админка
-------------------------------------------------------------*/

#awards-content .tcl {
    width: 5%;
    padding-left: 10px;
}

#pun-main.main.mod-page tbody#awards-content .tc2 {
    text-align: center;
}

.adminmain {
    padding-left: 17em !important;
}

/* 6.9 Справка
-------------------------------------------------------------*/

#pun-help .formal .info-box h3.legend {
    margin-bottom: 0.8em;
    padding-bottom: 0;
    border-bottom-style: none;
    border-bottom-width: 0;
}

#pun-help .formal .info-box h3.legend span {
    display: block;
    padding-bottom: 0.6em;
    border-bottom-style: none;
    border-bottom-width: 0;
    font-size: 1.1em;
}

#pun-help .formal p, #pun-help .formal dd {
    margin-bottom: 1em;
}

#pun-help .formal ul, #pun-help .formal dl {
    padding: 0 0 0 1em;
}

#pun-help .formal li {
    padding: 0;
    line-height: 130%;
}

#pun-help .formal li * {
    vertical-align: text-top;
}

#pun-help .formal dt span {
    font: 1.4em/120% monaco, "bitstream vera sans mono", "courier new", courier, monospace;
}

#pun-help .formal .parsedmsg, #pun-help .formal .parsedmsg .incode {
    padding-bottom: 0;
}

/* 6.10 Отладка
-------------------------------------------------------------*/

#pun-debug table .tcl {
    width: 15%;
    white-space: normal;
    background-color: transparent;
}

#pun-debug .tcr {
    width: 90%;
    white-space: normal;
    background-color: transparent;
}


/*************************************************************
  7. ТЕМА: ПОСТЫ, ПРОФИЛЬ АВТОРА, ССЫЛКИ ПОСТА
**************************************************************/

/* 7.1 Пост целиком
-------------------------------------------------------------*/

.topic .post {
    margin-left: 10px;
}

.punbb .post .container {
    width: 98%;
}

.punbb .post-body {
    margin-left: 27em;
    padding: 0 0 1px 0;
    border-left-style: solid;
    border-left-width: 1px;
}

.punbb .post-box {
    padding: 1px 7px 0 2px;
}

.punbb fieldset .post-box {
    margin-bottom: 0.8em;
}

.punbb .clearer {
    clear: both;
    height: 0;
    font-size: 0;
}

/* 7.2 Заголовок поста
-------------------------------------------------------------*/

.punbb .post h3 {
    border-style: solid solid none solid;
    border-width: 1px;
}

.punbb .post h3 strong {
    float: right;
    text-align: right;
    font-weight: normal;
}

#pun-main .topic h3 span {
    display: flex;
    align-items: center;
    gap: 12px;
    height: auto;
    margin: 0;
    padding: 4px 19px;
    border-top: 1px solid rgba(0, 0, 0, .2);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .6);
}

/* дата-ссылка — вправо */
#pun-main .topic h3 span .permalink {
    margin-left: auto;
    border-bottom: 1px solid transparent;
    color: rgba(0, 0, 0, .6);
    text-decoration: none;
}

#pun-main .topic h3 span .permalink:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* счётчик символов */
#pun-main .topic h3 span strong:first-of-type {
    font-weight: 400;
    color: rgba(0, 0, 0, .6);
}

/* кнопки шрифта */
#pun-main .topic h3 span strong.fnt {
    margin-right: 0 !important;
    font-weight: 400;
    color: rgba(0, 0, 0, .6);
}

#pun-main .topic h3 span strong.fnt img {
    vertical-align: middle;
    opacity: 0.6;
}

.fnt {
    font-family: var(--font-basic);
}

.fnt img {
    margin: 0 5px -2px;
    border-radius: 5px;
    cursor: pointer;
    filter: grayscale(50%);
}

/* 7.3 Профиль автора
-------------------------------------------------------------*/

.punbb .post .post-author {
    position: relative;
    float: left;
    width: 234px;
    min-height: 76px;
    margin: 10px 0 0 9px !important;
    padding: 10px;
    overflow: visible;
    background: rgba(var(--paper-rgb), 0.85);
    backdrop-filter: blur(2px);
    border: 1.5px solid var(--ink);
    border-radius: 0;
    box-shadow: 3px 3px 0 rgba(0, 0, 0, .1);
}

.punbb .post .post-author ul,
.punbb .post .post-author p {
    margin: 0;
    padding: 0;
}

/* имя */
.pa-author {
    width: 100%;
    box-sizing: border-box;
    margin: 6px auto 4px;
    padding: 4px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    border-radius: 0;
    background: transparent;
    text-align: center;
    font-family: var(--typer);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pa-author a {
    overflow-wrap: anywhere;
    word-break: break-word;
    color: var(--ink) !important;
    text-decoration: none;
}

.pa-author a:hover {
    color: var(--red) !important;
}

/* папка с иконками слева */
.pa-fld1 {
    position: absolute;
    top: -1px;
    left: -29px;
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 6px;
    list-style: none;
    background: rgba(var(--paper-2-rgb), 0.75);
    backdrop-filter: blur(2px);
    border: 1.5px solid var(--ink);
    border-right: none;
    box-shadow: -2px 2px 0 rgba(0, 0, 0, .08);
}

.pa-fld1 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    line-height: 0;
    opacity: 0.55;
    transition: opacity .15s;
}

.pa-fld1 a:hover {
    opacity: 1;
}

.pa-fld1 img {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    object-fit: contain;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    opacity: .85;
    transition: transform .15s ease, opacity .15s ease;
}

.pa-fld1 img:hover {
    transform: translateX(1px);
    opacity: 1;
}

/* значок над ником */
.pa-fld6 {
    position: absolute;
    top: -21px;
    left: 107px;
    z-index: 5;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    height: 40px;
    margin: 0 !important;
    padding: 0;
    border-radius: 50%;
    border-top: 1px solid rgba(0, 0, 0, .08);
    background: var(--off-white-color);
}

.pa-fld6 img {
    max-width: 25px;
    max-height: 25px;
}

/* аватар */
.post-author li.pa-avatar.item2 {
    position: relative;
    width: auto;
    padding: 0;
    text-align: center;
    background: transparent;
    border-radius: 0;
}

.post-author li.pa-avatar.item2 img {
    display: block;
    max-width: 180px;
    height: auto;
    margin: 0 auto;
    border-radius: 0;
}

.pa-avatar.item2 img.allow_change {
    transition: filter .8s ease !important;
}

.pa-avatar.item2 img.allow_change:hover {
    outline-color: transparent !important;
    filter: grayscale(1);
}

/* статус */
.post-author li.pa-title {
    margin-bottom: 8px;
    padding: 4px 8px 6px;
    border-bottom: 1px dashed rgba(0, 0, 0, .2);
    border-radius: 0;
    background: transparent;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .45);
}

/* плашка */
.post-author li.pa-fld4 {
    margin: 6px auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
}

.post-author li.pa-fld4 img {
    position: relative;
    z-index: 5;
    display: block;
    max-width: 100%;
    height: auto;
    margin: -11px auto 0;
}

/* личное звание */
.pa-fld2 {
    position: relative;
    width: auto;
    margin: 8px 0 6px !important;
    padding: 8px 10px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    border-bottom: 1px dashed rgba(0, 0, 0, .2);
    border-radius: 0;
    background: transparent;
    text-align: left;
    font-size: 9px;
    line-height: 1.6;
    color: rgba(0, 0, 0, .6);
}

/* первая строка: имя и возраст */
.pa-fld2:first-line {
    font-family: var(--typer);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
}

.pa-fld2 a {
    border-bottom: 1px solid transparent;
    font-weight: 400;
    color: var(--red) !important;
    text-decoration: none;
}

.pa-fld2 a:hover {
    border-bottom-color: var(--red);
}

/* счётчики: постов, сакр, сообщений, репутация */
.pa-fld3,
.pa-fld5,
.pa-posts,
.pa-respect {
    position: relative;
    display: inline-block !important;
    width: 50px;
    margin: 10px 2px 0;
    text-align: center;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    color: var(--ink);
}

.pa-posts {
    padding-top: 3px !important;
}

/* иконки счётчиков */
.post-author li.pa-fld3::before,
.post-author li.pa-fld5::before,
.post-author li.pa-posts a::before,
.post-author li.pa-respect span a::before,
.post-author li.pa-respect:not(:has(a))::before {
    display: block;
    margin-bottom: 4px;
    font-family: 'Material Icons';
    font-size: 16px;
    color: rgba(0, 0, 0, .3);
}

.post-author li.pa-fld3::before {
    content: 'rate_review';
    margin-bottom: -5px;
}

.post-author li.pa-fld5::before {
    content: 'paid';
    margin-bottom: -5px;
}

.post-author li.pa-posts a::before {
    content: 'comment';
    margin-bottom: 6px;
}

.post-author li.pa-respect span a::before {
    content: 'thumb_up';
    margin-bottom: 8px;
}

.post-author li.pa-respect::before {
    content: 'thumb_up';
    display: none;
}

.post-author li.pa-respect:not(:has(a))::before {
    display: block;
    padding-bottom: 7px;
}

/* числа */
.post-author li.pa-fld3 span:not(.fld-name),
.post-author li.pa-fld5 span:not(.fld-name),
.post-author li.pa-posts,
.post-author li.pa-respect span:not(.fld-name) {
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.05em;
}

.post-author li.pa-fld3 span:not(.fld-name),
.post-author li.pa-fld5 span:not(.fld-name),
.post-author li.pa-posts {
    display: block;
}

.post-author li.pa-respect span:not(.fld-name) {
    display: inline-block;
}

.post-author li.pa-respect span:not(:has(a)) {
    display: none;
}

.post-author li.pa-posts a, .post-author li.pa-respect span a {
    font-size: 0;
}

.post-author li.pa-fld3 .fld-name,
.post-author li.pa-fld5 .fld-name {
    display: none;
}

.pa-respect a img {
    margin-bottom: -2px;
}

/* подсказки к счётчикам */
.post-author li.pa-fld3:hover::after,
.post-author li.pa-fld5:hover::after,
.post-author li.pa-posts:hover::after,
.post-author li.pa-respect:hover::after {
    position: absolute;
    left: 50%;
    bottom: 100%;
    z-index: 10;
    transform: translateX(-50%);
    padding: 5px;
    border-radius: 3px;
    background-color: #333;
    white-space: nowrap;
    font-family: var(--font-basic);
    font-size: 9px;
    color: #fff;
    opacity: 1;
    transition: opacity 0.3s;
    pointer-events: none;
}

.post-author li.pa-fld3:hover::after   { content: 'постов'; }
.post-author li.pa-fld5:hover::after   { content: 'сакр'; }
.post-author li.pa-posts:hover::after  { content: 'сообщений'; }
.post-author li.pa-respect:hover::after { content: 'репутация'; }

/* онлайн */
li.pa-online {
    margin: 17px 0 4px;
    border-left-color: transparent;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink);
}

li.pa-online::before {
    content: "\25CF\00A0";
    vertical-align: middle;
    font-size: 6px;
    color: var(--green);
}

li.pa-replies {
    margin-bottom: 9px;
}

/* последний визит */
li.pa-last-visit {
    margin: 17px 0 8px;
    padding-bottom: 8px;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .6);
}

/* награды */
li.pa-awards {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 8px 0 0;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .35);
}

li.pa-awards .mini_awards_label {
    display: block;
    margin-bottom: 4px;
    text-align: center;
}

li.pa-awards .mini_awards_label::before {
    content: "\2014\00A0";
    color: var(--red);
}

li.pa-awards .mini_awards_label::after {
    content: "\00A0\2014";
    color: var(--red);
}

li.pa-awards .mini_awards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    margin-top: 2px;
}

li.pa-awards br {
    display: none;
}

/* IP */
.punbb .pa-ip {
    margin: 6px 0 0;
    padding-top: 6px;
    border-top: 1px dashed rgba(0, 0, 0, .15);
    text-align: center;
    font-family: var(--typer);
    font-size: 7px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .25);
}

/* 7.4 Ссылки под постом (иконки)
-------------------------------------------------------------*/

.punbb .post-links {
    margin-left: 19em;
    border-left-style: solid;
    border-left-width: 1px;
}

.punbb .post-links ul {
    margin-left: -200px;
    padding: 0;
    border-top-style: solid;
    border-top-width: 1px;
    background: transparent;
    text-align: right;
}

.punbb .post-links li {
    display: inline;
    padding-left: 0.8em;
}

.pl-email, .pl-website {
    float: left;
}

.post-links a {
    font-size: 0 !important;
    color: var(--ink) !important;
}

.post-links a:hover::after {
    font-style: normal !important;
    color: var(--red) !important;
    filter: none !important;
}

/* в «сообщениях пользователя» и поиске — текстом */
.main.multipage.show_user_posts .post-links a,
.main.multipage.search .post-links a {
    font-size: 12px !important;
}

.main.multipage.show_user_posts .post-links ul {
    margin-left: -225px;
}

.pl-delete a:after,
.pl-edit a:after,
.pl-quote a:after,
.pl-reports a:after,
.pl-email.email a:after,
.pl-email.profile a:after,
.pl-email a:after,
.pl-quote.pl-reply a:after {
    margin-left: 3px;
    font-family: 'Material Icons';
    font-size: 16px;
    text-shadow: none !important;
}

.pl-delete a:after          { content: "\e872"; }
.pl-edit a:after            { content: "\e3c9"; }
.pl-quote a:after           { content: "\e244"; }
.pl-reports a:after         { content: "\e153"; }
.pl-email a:after           { content: "\e158"; }
.pl-email.email a:after     { content: "\e158"; }
.pl-email.profile a:after   { content: "\ea67"; }
.pl-quote.pl-reply a:after  { content: "\e244"; }

.pl-email.pm a:after {
    content: "\e0b7";
    position: relative;
    top: 2px;
    font-family: 'Material Icons';
    font-size: 16px;
    text-shadow: none !important;
}

/* кнопка «редактировать» у АМС в профиле */
.pl-email.profile a:nth-child(2):after {
    content: "\e3c9";
    margin-left: 6px;
    font-family: 'Material Icons';
    font-size: 16px;
    text-shadow: none !important;
}

.pl-email.profile a:nth-child(2),
.pl-delete a, .pl-edit a, .pl-quote a, .pl-reports a,
.pl-email.pm a, .pl-email.email a, .pl-quote.pl-reply a {
    font-size: 0 !important;
}

/* 7.5 Репутация
-------------------------------------------------------------*/

.post-rating {
    width: 10px;
    height: 30px;
    margin-top: 40px;
    margin-left: 97%;
    text-align: center;
    background-repeat: no-repeat;
}

div.post-rating p {
    background-color: transparent !important;
}

div.post-rating p.container a {
    font-size: 140% !important;
    cursor: default !important;
}

.post-rating a {
    margin-right: -20px;
    color: inherit !important;
    opacity: 0.7;
}

.post-rating a:hover {
    font-style: normal !important;
    color: var(--red) !important;
    opacity: 0.7;
}

.post-vote {
    display: block !important;
}

div.post-vote p {
    margin-top: -25px;
    background: transparent !important;
    text-align: right;
}

.post-vote p.container {
    width: 97.2% !important;
    margin-top: 0 !important;
    margin-right: -38px !important;
    padding: 10px !important;
}

.post-vote a.positive {
    font-size: 0 !important;
}

.post-vote a:after {
    content: "\f884";
    visibility: visible !important;
    font-family: 'Material Icons';
    font-size: 20px;
    text-shadow: none !important;
    transition: 0.5s;
}

.post-vote :hover > a:after {
    font-style: normal !important;
    color: var(--red);
}

/* 7.6 Подпись
-------------------------------------------------------------*/

.punbb .post-sig dt {
    display: block;
    width: 70%;
    margin-left: 140px;
    margin-bottom: 5px;
    text-align: center;
}

img.sigimage {
    max-height: 140px;
}

.post-sig:before {
    content: '';
    position: absolute;
    left: 50%;
    width: 50%;
    height: 0;
    margin-top: -4px;
    border-top: 1px solid;
    transform: translateX(-50%);
}

/* 7.7 Пагинация и «Ответить»
-------------------------------------------------------------*/

.punbb .linkst {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.linkst .postlink {
    text-align: right;
}

.punbb .linksb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 10px 16px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.linksb .postlink {
    order: 2;
}

.linksb .subscribelink {
    order: 3;
    width: 100%;
    text-align: right;
}

.pagelink {
    color: rgba(0, 0, 0, .4);
}

.pagelink a {
    padding: 2px 5px;
    border: 1px solid transparent;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    color: rgba(0, 0, 0, .4);
    text-decoration: none;
}

.pagelink a:hover {
    border-color: var(--red);
    color: var(--red);
}

.pagelink strong {
    padding: 2px 5px;
    border: 1px solid var(--ink);
    font-size: 8px;
    font-weight: 400;
    color: var(--ink);
}

.pagelink a.next {
    border-color: transparent;
    color: var(--red);
}

.postlink a {
    display: inline-block;
    padding: 4px 12px;
    border: 1.5px solid var(--ink);
    background: var(--ink);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--paper) !important;
    text-decoration: none;
}

.postlink a:hover {
    background: var(--red);
    border-color: var(--red);
}

.postlink.long {
    width: auto !important;
}

.subscribelink a {
    border-bottom: 1px dotted rgba(0, 0, 0, .2);
    font-family: var(--typer);
    font-size: 7px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .3);
    text-decoration: none;
}

.subscribelink a:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* 7.8 Кто в теме, модераторское меню
-------------------------------------------------------------*/

div#topic-users-in.modmenu {
    width: 99%;
}

#topic-users-in a:after {
    content: ',';
    font-size: 13px;
}

#topic-users-in a:last-child:after {
    display: none;
}

.punbb .modmenu .container {
    padding: 0.5em 3em;
    text-align: right;
}

.punbb .modmenu strong, .punbb .modmenu a {
    height: 1.8em;
    line-height: 1.8em;
}

.punbb .modmenu .container strong {
    float: left;
}

.punbb .modmenu input {
    margin-left: 1em;
}

/* 7.9 Сообщения платформы (инфо-блоки)
-------------------------------------------------------------*/

.punbb .info .container {
    padding: 0.8em 3em;
}

.punbb .info .container .backlink {
    padding-top: 0.8em;
}

.punbb .info-box {
    margin: 0 0 1.1em 0;
    padding: 1.1em 1.7em 1em 1.7em;
    border: 1px solid transparent;
}

.punbb .info-box * {
    padding: 0 0 0.7em 0;
}

.punbb #pun-main .info-box .legend {
    font-size: 1.1em;
    font-weight: bold;
}

.notify-message.jg-mention {
    border-left: none !important;
}


/*************************************************************
  8. СОДЕРЖИМОЕ ПОСТОВ
**************************************************************/

/* 8.1 Текст
-------------------------------------------------------------*/

.punbb .post-content {
    width: 100%;
    margin: -3px 0 0 -2px;
    padding: 0;
    overflow: hidden;
    text-align: justify;
}

.punbb .post-content p {
    margin: 10px 0 0 0;
    padding: 0 0 1em 0;
    line-height: 170%;
    color: var(--primary-text-color);
}

.punbb .post-content em {
    font-style: italic;
}

.punbb .post-content em.bbuline {
    font-style: normal;
    text-decoration: underline;
}

.punbb .post-content img {
    vertical-align: text-bottom;
}

.punbb .post-content img.postimg {
    vertical-align: middle;
}

ul.post-ul-Sp, .post-img-Sp {
    text-align: center;
}

/* абзац с отступом */
.custom_tag_indent {
    display: inline-block;
    margin: 1em 2.1em;
}

.leftimg {
    float: left;
}

.rightimg {
    float: right;
    margin: 7px 0 7px 7px;
}

/* стикеры */
.vi {
    max-width: 64px;
    max-height: 64px;
    cursor: pointer;
}

/* ссылки в постах */
.punbb .post-content a,
.punbb .post-content a:link {
    padding-bottom: 1px;
    border-bottom: 1px solid var(--red);
    color: var(--red);
    text-decoration: none;
}

.punbb .post-content a:hover {
    border-bottom-color: var(--ink);
    color: var(--ink);
}

.punbb .post-content a:active,
.punbb .post-content a:focus {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* таблицы в постах */
.post-content table {
    width: 100%;
    margin: auto !important;
    table-layout: fixed;
    border-collapse: separate !important;
    border-spacing: 1px;
}

.post-content td {
    border-width: 0 !important;
}

/* 8.2 Цитата, код, спойлер
-------------------------------------------------------------*/

.punbb .post-content .blockcode, .punbb .post-content blockquote {
    overflow: hidden;
    padding: 5px 9px;
}

.punbb .post-content blockquote p {
    color: var(--primary-text-color) !important;
}

.punbb .post-content .blockcode pre {
    color: var(--primary-text-color) !important;
}

.punbb .post-content .scrollbox {
    width: 100%;
    overflow: auto;
    color: #000;
}

/* цитата */
.quote-box {
    position: relative;
    margin: 12px 0;
    padding: 10px 14px;
    border: none;
    border-left: 2px solid var(--red, rgba(0, 0, 0, .4));
    border-radius: 0;
    background: rgba(0, 0, 0, .03);
    box-shadow: none;
    font-size: 11px;
    line-height: 1.7;
    color: rgba(0, 0, 0, .7);
}

.quote-box cite {
    display: block;
    margin: 0 0 6px 0;
    font-family: var(--typer);
    font-size: 9px;
    font-style: normal;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

.quote-box cite::before {
    content: "EXTRACT \2014 ";
    margin-right: 5px;
    color: var(--red, rgba(0, 0, 0, .3));
}

.quote-box blockquote {
    margin: 0;
    padding: 0;
}

.quote-box blockquote p {
    margin: 0;
}

.quote-box .quote-box {
    margin: 10px 0 0;
    padding: 8px 12px;
    border-left-color: rgba(0, 0, 0, .2);
    opacity: 0.85;
}

.quote-box .quote-box cite::before {
    content: "RE: ";
}

.quote-box.spoiler-box span {
    color: var(--primary-text-color) !important;
}

/* код */
.code-box .blockcode {
    position: relative;
    margin: 10px 0;
    padding: 10px 14px;
    border: 1px dashed rgba(0, 0, 0, .25);
    border-radius: 0;
    background: transparent;
    white-space: pre-wrap;
    font-family: monospace;
    font-size: 10px;
    line-height: 1.6;
    color: rgba(0, 0, 0, .75);
}

.code-box .blockcode::before {
    content: "FILE DATA";
    display: block;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px dashed rgba(0, 0, 0, .15);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.2em;
    color: rgba(0, 0, 0, .35);
}

.quote-box .code-box .blockcode {
    border-color: rgba(0, 0, 0, .15);
}

/* спойлер */
.post-content .spoiler-box {
    margin: 12px 0;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 10px;
    background: rgba(255, 255, 255, .40);
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .35);
}

.post-content .spoiler-box > p {
    margin: 0;
    padding: 7px 10px;
    background: rgba(0, 0, 0, .03);
    font-size: 9px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .55);
}

.post-content .spoiler-box > div {
    padding: 10px 12px;
    background: rgba(255, 255, 255, .20);
    font-size: 11px !important;
    line-height: 1.7;
    color: rgba(0, 0, 0, .68);
}

.post-content .spoiler-box > blockquote {
    margin-top: 5px;
}

.post-content .spoiler-box .spoiler-box {
    margin: 10px 0 0;
    border-color: rgba(0, 0, 0, .06);
    border-radius: 9px;
    background: rgba(255, 255, 255, .28);
    box-shadow: 0 6px 14px rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .28);
}

/* 8.3 Оформление служебных постов (правила, инфо-темы)
-------------------------------------------------------------*/

.sacraforum1 {
    margin-bottom: 6px;
    font-family: var(--serif);
    font-size: 11px;
    font-style: italic;
    line-height: 1.2em;
    text-transform: lowercase;
    color: rgba(0, 0, 0, 0.5);
}

.sacraforum2 {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 12px 0;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.sacraforum2 .sacralink {
    padding-bottom: 1px;
    border-bottom: 1px solid rgba(0, 0, 0, .4);
}

.sacraforum2 .sacralink:hover {
    border-color: var(--red);
    color: var(--red);
}

/* карточка служебного поста */
.sacth {
    position: relative;
    width: 576px;
    margin: 30px auto 16px;
    padding: 20px 24px;
    border: 1.5px solid var(--ink);
    border-radius: 0;
    background: transparent;
    box-shadow: 4px 4px 0 rgba(0, 0, 0, .1);
}

/* красный уголок */
.sacth::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 16px;
    height: 16px;
    border-top: 3px solid var(--red);
    border-left: 3px solid var(--red);
}

.sacttitle {
    margin: 0 0 6px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    text-align: center;
    font-family: var(--typer);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--ink);
}

.saccita {
    max-width: 500px;
    margin: 10px auto;
    text-align: center;
    font-family: var(--serif);
    font-size: 11px;
    font-style: italic;
    letter-spacing: 0.02em;
    color: rgba(0, 0, 0, .45);
}

.sacth hr {
    margin: 10px 0 14px;
    border: none;
    border-top: 1px dashed rgba(0, 0, 0, .2);
}

.sacth > center > div > div[style] {
    width: 100% !important;
    text-align: left !important;
    font-family: var(--serif) !important;
    font-size: 11px !important;
    line-height: 1.7 !important;
    color: rgba(0, 0, 0, .7) !important;
}

.sacth img {
    max-width: 100%;
    margin: 12px 0;
    border: 1.5px solid var(--ink);
    border-radius: 0;
    box-shadow: 3px 3px 0 rgba(0, 0, 0, .1);
    filter: sepia(0.1);
}


/*************************************************************
  9. ФОРМЫ, КНОПКИ, РЕДАКТОР
**************************************************************/

/* 9.1 Раскладка форм
-------------------------------------------------------------*/

.punbb .formal .container {
    padding: 1.7em 2.3em 1.1em 2.3em;
}

#pun-main #subforums {
    padding: 1em 3em !important;
}

.punbb .formsubmit {
    margin: 1em 0 0 0;
    padding: 0 0 0 1.7em;
}

.punbb fieldset {
    margin: 0 0 1em 0;
    padding: 0 18px;
    border-style: solid;
    border-width: 1px;
}

.punbb fieldset legend {
    margin: 0 0 -3px -10px;
    padding: 0;
    font-family: var(--typer);
    font-size: 12px;
    text-transform: lowercase;
}

.punbb fieldset fieldset {
    margin: 0;
    padding: 0 0 8px 0;
    border-style: none;
}

#profile fieldset {
    margin-top: 20px;
}

.punbb .fs-box {
    padding: 1em 0 0.8em 0;
}

.punbb .fs-box p, .punbb .fs-box fieldset {
    margin: -1px 0 0;
    padding: 0 0 0.8em 0;
}

.formal .fs-box p {
    margin: 5px 0 0 !important;
}

.formal .fs-box p.areafield {
    margin: -1px 0 0 !important;
}

.fs-box h3 {
    margin: 0 0 20px 2px;
}

div.formal h2 {
    height: 10px !important;
}

#post-form h2 {
    display: none;
}

.punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield {
    float: left;
    margin-right: 1em;
}

.punbb .inline .infofield {
    clear: both;
}

.punbb .datafield br {
    display: none;
}

.punbb .required label, .punbb .datafield span.input {
    font-weight: bold;
}

.punbb .datafield span.input a {
    font-weight: normal;
}

.punbb .areafield span.input, .punbb p.longinput span.input {
    display: block;
    height: 100%;
    padding: 0 12em 0 0;
}

.checkfield input[type="checkbox"], .radiofield input[type="radio"] {
    margin: 0 0.3em;
}

p[class="checkfield"] *,
div[class="checkfield"] *,
fieldset[class="radiofield"] * {
    height: 1.8em;
    vertical-align: middle;
}

.punbb .hashelp {
    position: relative;
}

.punbb .helplinks {
    position: absolute;
    top: 1em;
    right: 0;
    display: block;
    width: 36%;
    font-weight: normal;
}

.punbb #profile .helplinks {
    top: 1.5em;
}

.punbb .helplinks span {
    display: block;
    padding-bottom: 0.2em;
}

#pun-post .formal .info-box li {
    margin: 0;
    padding-left: 4px;
    line-height: 1.5;
    list-style-type: square;
    list-style-position: inside;
}

/* мелкие правки страниц с формами */
#post-errors {
    margin-left: -20px !important;
}

#post-new #post #post-form p span.checkfield {
    margin-right: -5%;
}

#pun-main #profile div.container #notify-settings {
    margin-left: 18px !important;
}

#register .info-box {
    width: 97% !important;
    margin-left: -10px !important;
}

#post-preview .fs-box .post-box .post-content {
    width: 95%;
}

#history_selected_version textarea {
    width: 104% !important;
}

/* 9.2 Поля ввода
-------------------------------------------------------------*/

.punbb input {
    margin: 0 5px 0 0;
    border-width: 1px;
    border-radius: 3px;
    background-color: transparent;
    outline: none;
}

#login input {
    margin-right: 13px !important;
}

.punbb textarea,
.punbb input[type="text"],
.punbb input[type="password"],
.punbb input[type="email"],
.punbb input[type="url"],
.punbb input[type="number"],
.punbb select {
    border: 1.5px solid rgba(0, 0, 0, .25);
    border-radius: 0;
    outline: none;
    background-color: rgba(var(--paper-rgb), 0.6);
    box-shadow: none;
    font: 1em verdana, arial, helvetica, sans-serif;
    font-size: 11px;
    color: var(--ink);
    transition: border-color .15s;
}

.punbb textarea,
.punbb .longinput input {
    overflow: auto;
    resize: both;
}

#form-buttons,
.punbb textarea,
.punbb .longinput input,
.punbb select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
}

#main-reply {
    border-top: none;
    border-radius: 0;
    line-height: 1.3;
    resize: both;
}

#post-form textarea {
    padding: 4px;
}

/* поля профиля во всю ширину */
input[name='form[fld4]'], input[name='form[fld2]'], input[name='form[fld1]'], input[name='form[fld6]'] {
    width: 100%;
}

.inp2 input {
    margin: 0;
}

.inp2 label {
    line-height: 10px !important;
}

/* 9.3 Кнопки
-------------------------------------------------------------*/

.punbb input.button,
input#pustoj2,
.AnswerButton input,
input[type="submit"] {
    min-width: 100px;
    height: 26px;
    margin: 5px 3px;
    padding: 3px 12px;
    border: 1.5px solid var(--ink);
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink);
    transition: color .15s, border-color .15s, background-color .15s;
}

.punbb input.button:hover,
input#pustoj2:hover,
.AnswerButton input:hover,
input[type="submit"]:hover {
    border-color: var(--ink);
    background-color: var(--ink);
    color: var(--paper);
}

.punbb input.button:active,
input#pustoj2:active,
.AnswerButton input:active,
input[type="submit"]:active {
    border-color: var(--red);
    background-color: var(--red);
    color: var(--paper);
}

#post-form.formal p span input[type="submit"]:first-child {
    margin-left: 45px;
}

input[name='addtag_button'] {
    height: 18px !important;
    padding: 0 !important;
    text-align: center;
    font-size: 9px !important;
}

/* 9.4 Панель редактора
-------------------------------------------------------------*/

#form-buttons {
    padding: 4px 8px;
    border: 1.5px solid rgba(0, 0, 0, .25);
    border-bottom: 1px dashed rgba(0, 0, 0, .15);
    border-radius: 0;
    background-color: rgba(var(--paper-2-rgb), 0.8);
}

#pun-messages #form-buttons table {
    display: inline-table;
}

div#form-buttons table tr > td {
    position: relative;
    width: auto;
    height: 24px;
    background-image: none !important;
    opacity: 0.9;
    transition: opacity .15s;
}

.punbb-admin div#form-buttons table tr > td {
    width: unset;
}

div#form-buttons table tr > td:hover {
    opacity: 1;
}

/* настоящие картинки кнопок прячем, рисуем иконки шрифтом */
#form-buttons td img {
    position: absolute;
    z-index: 10;
    width: 15px !important;
    height: 100%;
    margin-top: -19px;
    margin-left: -7px;
    opacity: 0;
}

#form-buttons td#button-sticker {
    width: 4%;
}

td#button-font:before,
td#button-size:before,
td#button-bold:before,
td#button-italic:before,
td#button-strike:before,
td#button-underline:before,
td#button-indent:before,
td#button-floatbut:before,
td#button-my:before,
td#button-left:before,
td#button-center:before,
td#button-right:before,
td#button-link:before,
td#button-spoiler:before,
td#button-image:before,
td#button-artp:before,
td#button-video:before,
td#button-hide:before,
td#button-quote:before,
td#button-code:before,
td#button-html:before,
td#button-color:before,
td#button-table:before,
td#button-smile:before,
td#button-sticker:before,
td#button-keyboard:before,
td#button-addition:before,
td#button-files_rusff:before,
td#button-graffiti_rusff:before,
td#floatbut:before,
td#button-mask:before {
    display: block;
    z-index: 0;
    width: 100%;
    max-height: 40px;
    margin-top: 1px;
    text-align: center;
    vertical-align: middle;
    font-family: 'Material Icons';
    font-size: 16px;
    color: var(--not-so-dark-color);
}

#form-buttons td:hover::before {
    color: var(--red);
}

#form-buttons td#button-font:before      { content: "\eae2"; }
#form-buttons td#button-html:before      { content: "\eb7e"; }
#form-buttons td#button-size:before      { content: "\e245"; }
#form-buttons td#button-bold:before      { content: "\e238"; }
#form-buttons td#button-italic:before    { content: "\e23f"; }
#form-buttons td#button-underline:before { content: "\e249"; }
#form-buttons td#button-strike:before    { content: "\e257"; }
#form-buttons td#button-indent:before    { content: "\e23e"; }
#form-buttons td#button-left:before      { content: "\e236"; }
#form-buttons td#button-center:before    { content: "\e234"; }
#form-buttons td#button-right:before     { content: "\e237"; }
#form-buttons td#button-justify:before   { content: "\e8fe"; }
#form-buttons td#floatbut:before         { content: "\f863"; }
#form-buttons td#button-link:before      { content: "\e178"; }
#form-buttons td#button-Yandex:before    { content: "\f01f"; }
#form-buttons td#button-spoiler:before   { content: "\e0e0"; }
#form-buttons td#button-image:before     { content: "\efa2"; }
#form-buttons td#button-video:before     { content: "\e1c4"; }
#form-buttons td#button-hide:before      { content: "\e63f"; }
#form-buttons td#button-quote:before     { content: "\e244"; }
#form-buttons td#button-code:before      { content: "\e86f"; }
#form-buttons td#button-color:before     { content: "\e40a"; }
#form-buttons td#button-table:before     { content: "\f191"; }
#form-buttons td#button-smile:before     { content: "\e813"; }
#form-buttons td#button-sticker:before   { content: "\e813"; }
#form-buttons td#button-keyboard:before  { content: "\e312"; }
#form-buttons td#button-addition:before  { content: "\e313"; }
#form-buttons td#button-mask:before      { content: "\ea66"; }

.icons-search:before {
    content: '\e8b6';
    font-family: 'Material Icons';
    font-size: 16px;
}

/* выпадающие окна редактора: шрифт, цвет, смайлы и т.д. */
#font-area, #size-area, #color-area, #table-area, #smilies-area, #image-area, #imageup-area,
#imageattach-area, #keyboard-area, #video-area, #addition-area, #spoiler-area {
    position: absolute;
    top: 43px;
    right: 6px;
    overflow-y: auto;
    padding: 10px;
    border-left: none;
    background-color: var(--dropdown-bg-color);
    box-shadow: none;
}

#font-area {
    max-height: 250px;
    overflow: auto;
}

#smilies-area {
    width: 500px !important;
}

#imgNIK-SIG {
    margin-top: -49px !important;
    margin-left: 100% !important;
}

ul.tabs li.tab-current a {
    color: var(--primary-text-color) !important;
}

/* обтекание */
#float {
    border: 1px solid #000 !important;
    background-color: #bdbab5 !important;
}

/* теги */
#tags .container {
    top: 39px !important;
    border: 1px solid;
    background: var(--dropdown-bg-color);
}

#pun-edit #tags .container {
    top: 59px !important;
}

/* 9.5 Маска профиля
-------------------------------------------------------------*/

#mask_dialog .inner {
    width: 900px !important;
    background: var(--dropdown-bg-color) !important;
}

#mask_dialog .hv-form-block {
    width: 550px;
    padding: 20px;
}

#mask_dialog .hv-preview-block {
    flex: 0 0 180px !important;
    max-width: 180px !important;
}

#mask_dialog .inner.container .hv-mask-block .description {
    font-size: 10px;
    line-height: 14px;
}

.hv-preview-author {
    font-weight: bold;
}

.hv-preview-title {
    letter-spacing: 2px;
    text-transform: lowercase;
}


/*************************************************************
  10. ВСПЛЫВАЮЩИЕ ОКНА И ПЕРЕАДРЕСАЦИЯ
**************************************************************/

/* 10.1 Репутация, жалобы, награды
-------------------------------------------------------------*/

/* затемнение фона */
#pun-report .bg,
#pun-reputation .bg,
#pun-admin-award-form .bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    background: var(--ink);
    opacity: 0.5;
    cursor: pointer;
}

/* окно */
#pun-report .inner,
#pun-reputation .inner,
#pun-admin-award-form .inner {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100;
    width: 560px;
    margin: 0 !important;
    padding: 15px 10px;
    transform: translate(-50%, -50%);
    background: var(--paper);
    border: 1.5px solid var(--ink);
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .15);
}

#pun-admin-award-form .inner {
    background: var(--dropdown-bg-color);
}

#pun-report .inner h2,
#pun-reputation .inner h2,
#pun-admin-award-form .inner h2 {
    margin: 0;
    padding: 8px 14px;
    border-bottom: none;
    background: var(--ink);
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--paper);
}

#pun-report .inner .container,
#pun-reputation .inner .container,
#pun-admin-award-form .inner .container {
    padding: 16px 14px;
    font-size: 11px;
    line-height: 1.6;
}

#pun-report .inner textarea,
#pun-reputation .inner textarea,
#pun-reputation .inner input[type="text"] {
    padding: 6px 8px;
    border: 1.5px solid rgba(0, 0, 0, .25);
    border-radius: 0;
    background: rgba(var(--paper-rgb), 0.6);
    font-family: var(--serif);
    font-size: 11px;
}

#pun-report .inner label,
#pun-reputation .inner label,
#pun-admin-award-form .inner label {
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

/* крупный красный текст в жалобе */
#pun-report span {
    font-size: 20px;
    font-weight: bold;
    color: red !important;
}

.inner.post_report h1 {
    height: 24px !important;
}

.inner.post_report td.tcl {
    width: 20% !important;
}

.inner.post_report td.tcl span {
    font-size: 12px !important;
}

/* 10.2 Перенос сообщений
-------------------------------------------------------------*/

#movePostsTable {
    padding-top: 0;
}

#PMove_1, #PMove_2 {
    padding: 0 !important;
}

#PMove_2 span {
    width: 100%;
    margin-right: 0;
}

#PMove_2 .fs-box .Select_Topics th.tcl, #PMove_2 .fs-box .Select_Topics th.tc2 {
    font-weight: bold;
    letter-spacing: 1px;
}

#move_posts_form .formal .fs-box .Select_Topics table.container tbody {
    margin-top: 10px !important;
}

.pun-modal.move_posts_form .modal-inner.section h2 {
    height: 24px !important;
}

.pun-modal.move_posts_form .modal-inner.section h2 span.closer {
    font-size: 3em !important;
}

#afterMove .container.moved_success {
    padding-top: 20px;
    padding-bottom: 20px;
}

#afterMove .container.moved_success strong {
    padding-bottom: 5px;
}

/* 10.3 Смена аватара
-------------------------------------------------------------*/

.pun-modal.change_avatar_theme .modal-inner {
    padding: 10px 10px 50px !important;
}

/* 10.4 Страница переадресации
-------------------------------------------------------------*/

#pun-redirect {
    position: fixed;
    top: 100px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    padding: 0;
    text-align: center;
    background: none !important;
}

#pun-redirect #pun-main .info {
    width: 50%;
    margin-top: -40px;
    margin-left: 25%;
    padding: 25px 0;
    background: var(--dropdown-bg-color);
}

#pun-redirect h1 {
    height: 70px !important;
    margin-left: 25%;
}

#pun-redirect h1 span {
    border: none !important;
    font-size: 40px;
    letter-spacing: 2px !important;
    color: var(--primary-text-color) !important;
}

#pun-redirect #pun-main .info a {
    color: inherit !important;
}

#pun-redirect #pun-main .info a:hover {
    color: var(--red) !important;
}


/*************************************************************
  11. ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ
  Сначала архивное оформление, потом старая база PunBB —
  она частично перекрывает архивные стили (так работает и сейчас).
  Если страница профиля выглядит правильно без блока 11.3,
  его можно удалить.
**************************************************************/

/* 11.1 Просмотр профиля
-------------------------------------------------------------*/

#viewprofile .container {
    padding: 0;
    border: 1.5px solid var(--ink);
}

#viewprofile table {
    width: 100%;
}

/* левая колонка */
#profile-left {
    width: 200px;
    padding: 16px 12px;
    vertical-align: top;
    border-right: 1px solid rgba(0, 0, 0, .2);
    background: rgba(var(--paper-2-rgb), 0.5);
}

#profile-name {
    display: block;
    margin-bottom: 8px;
    padding: 0 0 8px;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    list-style: none;
    text-align: center;
    font-family: var(--typer);
    font-size: 13px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

#profile-title {
    display: block;
    margin-bottom: 10px;
    list-style: none;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

#pa-avatar {
    margin-bottom: 8px;
    list-style: none;
    text-align: center;
}

#pa-avatar img {
    margin: 0 auto;
}

#pa-online {
    padding-top: 6px !important;
    border-top: 1px dashed rgba(0, 0, 0, .15);
    list-style: none;
    text-align: center;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .35);
}

#pa-online::before {
    content: "\25CF\00A0";
    vertical-align: middle;
    font-size: 6px;
    color: var(--green);
}

#pa-online strong {
    display: inline !important;
}

#pa-edit {
    margin-top: 6px;
    list-style: none;
    text-align: center;
}

#pa-edit a {
    border-bottom: 1px solid transparent;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
    text-decoration: none;
}

#pa-edit a:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* правая колонка */
#profile-right {
    padding: 16px 20px;
    vertical-align: top;
}

#profile-right li {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 5px 0;
    border-bottom: 1px dotted rgba(0, 0, 0, .15);
    list-style: none;
    font-family: var(--serif);
    font-size: 11px;
}

#profile-right li:last-child {
    border-bottom: none;
}

#profile-right li span {
    flex-shrink: 0;
    float: none;
    width: 120px;
    margin: 0;
    padding: 0;
    text-align: right;
    white-space: nowrap;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

#profile-right li strong {
    display: inline;
    padding: 0;
    font-weight: 400;
    color: var(--ink);
}

#profile-right li a {
    border-bottom: 1px solid transparent;
    color: var(--red);
    text-decoration: none;
}

#profile-right li a:hover {
    border-bottom-color: var(--red);
}

/* подпись */
#profile-signature {
    margin-top: 0;
    padding: 12px 16px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
}

#profile-signature::before {
    content: "SIGNATURE";
    display: block;
    margin-bottom: 10px;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.2em;
    color: rgba(0, 0, 0, .3);
}

/* 11.2 Навигация профиля и заголовки
-------------------------------------------------------------*/

#profilenav {
    display: inline;
    float: left;
    width: 14em;
    margin-left: -16.3em;
}

#profilenav ul {
    margin: 10px 0 1em 0;
    padding: 1.5em 18px 0.8em 0;
    border-style: solid;
    border-width: 1px;
}

#profilenav li {
    padding-bottom: 0.8em;
    list-style: none;
    font-family: var(--typer);
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#profilenav li a {
    color: rgba(0, 0, 0, .5);
    text-decoration: none;
}

#profilenav li a:hover {
    color: var(--red);
}

#viewprofile h2,
#profilenav h2 {
    margin: 0 14px -0.6em 14px;
    padding: 0;
    border: none;
    background: transparent;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
}

#viewprofile h2 span, #profilenav h2 span {
    position: relative;
    padding: 0 5px;
}

/* 11.3 Старая база PunBB для профиля
-------------------------------------------------------------*/

#profile .container {
    padding-left: 18.6em;
}

#viewprofile ul {
    margin: 0 0 1em 0;
    padding: 1.5em 18px 0.8em 18px;
    border-style: solid;
    border-width: 1px;
}

#viewprofile li, #setmods dl {
    margin-bottom: 0.2em;
    padding: 0 0 0 16em;
}

#viewprofile li span {
    float: left;
    width: 14em;
    margin-left: -16em;
    padding: 0.5em 1em;
    text-align: right;
    font-weight: bold;
}

#setmods dt {
    display: inline;
    float: left;
    width: 14em;
    margin-left: -16em;
    padding: 0.8em 1em;
    font-weight: bold;
}

#viewprofile li strong, #viewprofile li div, #setmods dd {
    display: block;
    padding: 0.5em 1em;
    font-weight: normal;
}

.punbb img.avatardemo {
    float: right;
    margin: 0 0 0.8em 1.8em;
}

/* 11.4 Награды в профиле
-------------------------------------------------------------*/

#profileContainer > fieldset:nth-child(1) > div > table > thead > tr > th:nth-child(1),
#profileContainer > fieldset:nth-child(2) > div > div:nth-child(2) > table > thead > tr > th:nth-child(1) {
    padding-left: 0 !important;
    text-align: left !important;
}

#profile.formal #profileContainer fieldset div.fs-box table td.tcl { width: 5% !important; }
#profile.formal #profileContainer fieldset div.fs-box table td.tc2 { width: 30% !important; }
#profile.formal #profileContainer fieldset div.fs-box table td.tc3 { width: 5% !important; }

#profileContainer > fieldset:nth-child(1) > div > table {
    table-layout: auto;
}

#profileContainer > fieldset:nth-child(2) > div > div:nth-child(2) {
    max-height: 500px !important;
}


/*************************************************************
  12. НИЗ СТРАНИЦЫ
**************************************************************/

/* 12.1 Хлебные крошки
-------------------------------------------------------------*/

#pun-crumbs1, #pun-crumbs2 {
    width: 100%;
    margin: 0;
    overflow: hidden;
    font-weight: normal;
}

#pun-crumbs2 {
    margin-bottom: 0;
    border-bottom: none;
    font-weight: bold;
}

#pun-crumbs1 p.container, #pun-crumbs2 p.container {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 6px 16px;
    border-top: none;
    text-align: center;
    font-family: var(--typer);
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .35);
}

#pun-crumbs2 .container {
    border-bottom: none;
}

#pun-crumbs1 em, #pun-crumbs2 em {
    margin: 0 2px;
    font-style: normal;
    color: var(--red);
}

#pun-crumbs1 a, #pun-crumbs2 a {
    border-bottom: 1px solid transparent;
    color: rgba(0, 0, 0, .5);
    text-decoration: none;
}

#pun-crumbs1 a:hover, #pun-crumbs2 a:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* текущая страница */
#pun-crumbs1 p > a:last-of-type, #pun-crumbs2 p > a:last-of-type {
    color: var(--ink);
}

#pun-mod #pun-crumbs1 {
    margin-top: 340px;
}

.punbb-admin #pun-crumbs1 {
    position: relative;
    z-index: 2;
    margin: 40px 0 10px;
}

/* 12.2 Статистика
-------------------------------------------------------------*/

#pun-stats .container {
    display: block;
    width: auto;
    margin: 0;
    padding: 20px 24px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .5);
}

#pun-stats li.item1,
#pun-stats li.item2 {
    float: left;
    clear: both;
    line-height: 1.8;
}

#pun-stats li.item3,
#pun-stats li.item4 {
    text-align: right;
    line-height: 1.8;
}

#pun-stats strong {
    font-weight: 400;
    color: var(--ink);
}

li#onlinelist {
    float: left;
    width: 100%;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    text-align: left;
    line-height: 1.6;
}

li#onlinelist div {
    padding: 4px 0 0;
}

#onlinelist span a {
    border-bottom: 1px solid transparent;
    color: var(--red) !important;
    text-decoration: none;
}

#onlinelist span a:hover {
    border-bottom-color: var(--red) !important;
}

#statistic-other {
    width: 100%;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed rgba(0, 0, 0, .2);
    text-align: center;
}

#statistic-other a {
    margin: 0 8px;
    border-bottom: 1px solid transparent;
    font-family: var(--typer);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .4);
    text-decoration: none;
}

#statistic-other a:hover {
    border-bottom-color: var(--red);
    color: var(--red);
}

/* 12.3 Быстрый переход и футер
-------------------------------------------------------------*/

#pun-qjump {
    position: relative;
    float: left;
    width: 50%;
    margin: 0;
    border: none;
}

#pun-qjump .container {
    padding: 0.8em 1em;
    border: none;
    background: transparent;
}

#pun-about {
    margin-top: 200px;
    margin-bottom: -235px;
    margin-left: 5px;
}

#pun-about .container {
    border-top-style: none;
    text-align: center;
    line-height: 150%;
}

#pun-about p.container {
    width: 1000px;
    height: 92px;
    margin: -257px 0 207px -120px;
    background-position: center top;
    background-repeat: no-repeat;
}

#pun-about p span {
    display: none;
    margin-top: -200px;
    padding-left: 50%;
}

#pun-break4 {
    position: relative;
    z-index: 1;
    height: 0;
    margin: -2px 1em;
    border-style: none;
    border-width: 0;
}

/* 12.4 Баннеры
-------------------------------------------------------------*/

#banners {
    position: absolute;
    width: 921px;
    height: 41px;
    margin: -41px 0 0 27px !important;
    overflow-y: auto;
}

#banners img {
    opacity: 70%;
    filter: grayscale(1);
}

#banners img:hover {
    opacity: 100%;
    filter: grayscale(0);
    transition: ease 1s;
}

/* баннеры партнёров в подфоруме */
.banners {
    width: 542px;
    padding-top: 10px;
}

.banners2 {
    padding-top: 10px;
    overflow: hidden;
    text-align: center;
    opacity: 0.5;
    transition: 1s ease-out;
}

.banners2:hover {
    opacity: 1;
}

/* баннеры в футере: медленная прокрутка */
.banners-footer {
    position: absolute;
    width: 1000px;
    height: 67px;
    margin: 12px 0 0 0 !important;
    overflow-y: hidden;
}

.banners-footer-content {
    overflow: hidden;
    text-align: center;
    animation: carousel 10s linear infinite forwards;
}

.banners-footer-content:hover {
    animation-play-state: paused;
}

.banners-footer-content img {
    opacity: 0.7;
    transition: opacity .3s ease;
}

.banners-footer-content img:hover {
    opacity: 1;
}

@keyframes carousel {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-80%); }
    100% { transform: translateY(0); }
}


/*************************************************************
  13. ПЛАГИНЫ
**************************************************************/

/* 13.1 Иконочный шрифт Icons (Сириус и Астарта)
-------------------------------------------------------------*/

[class^="icon-"], [class*=" icon-"] {
    font-family: 'Icons', 'Icons' !important;
    font-style: normal;
    font-weight: light;
    font-variant: normal;
    line-height: 1;
    text-transform: none;
    speak: never;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 13.2 Закладки
-------------------------------------------------------------*/

.post .bookmark {
    color: rgba(0, 0, 0, .3) !important;
    transition: color .15s;
}

.post .bookmark:hover {
    color: var(--red) !important;
}

#BookmCntToggle.default-style {
    display: block;
    width: 20px;
    height: 26px;
    border-left: 2px solid var(--red) !important;
    background: var(--paper) !important;
    cursor: pointer;
    color: var(--ink) !important;
    transition: background .15s;
}

#BookmCntToggle.default-style:hover {
    background: var(--red) !important;
    color: var(--paper) !important;
}

#MyBookmarks {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    z-index: 2000 !important;
    width: 240px;
    height: 100%;
    border-right: 1.5px solid var(--ink);
    background: var(--paper);
    box-shadow: 4px 0 0 rgba(0, 0, 0, .08) !important;
}

#MyBookmarks h2 {
    margin: 0 !important;
    padding: 10px 14px !important;
    border-bottom: 1.5px solid var(--ink) !important;
    background: var(--ink);
    font-family: var(--typer) !important;
    font-size: 9px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--paper) !important;
}

#MyBookmarks h2 span {
    font-family: var(--typer) !important;
    font-size: 9px !important;
    letter-spacing: 0.2em !important;
    color: var(--paper) !important;
}

#MyBookmarks span.scrl {
    text-shadow: none !important;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.1em;
    color: rgba(0, 0, 0, .4) !important;
}

.editBookmark {
    position: absolute;
    top: 30px;
    right: -5px;
    z-index: 999999;
    padding: 10px;
    border: 1.5px solid var(--ink) !important;
    border-radius: 0;
    background: var(--paper) !important;
    box-shadow: 3px 3px 0 rgba(0, 0, 0, .1) !important;
}

.editBookmark h1 {
    height: 16px !important;
}

/* 13.3 Чёрный список
-------------------------------------------------------------*/

#panel {
    position: fixed;
    top: 170px;
    left: -260px;
    z-index: 10000;
    margin: 0;
    overflow: hidden;
    transition: left .25s ease;
}

#panel-content {
    float: left;
    width: 250px;
    height: auto;
    padding: 8px 10px;
    border: 1.5px solid var(--ink);
    border-right: none;
    background: var(--paper);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

#panel-content::before {
    content: "BLACKLIST";
    display: block;
    margin: -8px -10px 8px;
    padding: 4px 10px;
    background: var(--ink);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.2em;
    color: var(--paper);
}

#panel-sticker {
    position: relative;
    float: left;
    margin: 0;
    padding: 6px 4px;
    border: 1.5px solid var(--ink);
    border-left: none;
    background: var(--paper);
    cursor: pointer;
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ink);
    pointer-events: auto;
    user-select: none;
}

#panel-sticker:hover {
    border-color: var(--red);
    background: var(--red);
    color: var(--paper);
}

ul#blockUsers {
    float: left;
    width: 100%;
    margin: 4px 0 0 0;
    padding: 0;
    list-style: none;
}

ul#blockUsers li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
    border-bottom: 1px dotted rgba(0, 0, 0, .15);
    font-family: var(--typer);
    font-size: 8px;
    letter-spacing: 0.1em;
}

ul#blockUsers li:last-child {
    border-bottom: none;
}

#blockUsers > li > strong {
    flex-shrink: 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 400;
    color: rgba(0, 0, 0, .3);
}

#blockUsers > li > strong:hover {
    color: var(--red);
}

.blockButton::before {
    content: "\00D7";
    position: absolute;
    z-index: 2;
    width: 15px;
    height: 15px;
    margin-top: 15px;
    margin-left: -21px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 400;
    color: rgba(0, 0, 0, .3);
    transition: color .15s;
}

.blockButton:hover::before {
    transform: none;
    color: var(--red);
}

/* 13.4 Копирование ссылки на пост
-------------------------------------------------------------*/

.copy-permalink {
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
    line-height: 0;
    cursor: pointer;
    opacity: .6;
}

.copy-permalink:hover {
    opacity: 1;
}


/*************************************************************
  14. СТАРЫЕ ШАБЛОНЫ ПОСТОВ
  Оформление из прошлых дизайнов. Встречается в старых
  анкетах, итогах и темах — удалять только вместе с шаблоном.
**************************************************************/

/* бывшие цвета текста шаблонов: переменная не задана, текст наследует цвет */
.calendar p, .greyBack p, .visa span,
.anketafon table, .anketa1, .relationsbb table span, .relationsbb table p,
.anketaformbb p, .episod p, .statistic p, .deathlist p, .stuhle p {
    color: inherit !important;
}

.ams a, .ams a:hover {
    color: #3e3d3f !important;
}

#first-column, #second-column, #third-column {
    display: inline-block;
    width: 130px;
}

/* анкета */
#menu1 span {
    margin: 7px;
    padding: 4px 18px;
    border-radius: 15px 0;
    background-color: #b9b9b9;
    font-family: arial;
    font-size: 12px;
    color: #ffffff;
}

#menu1 .tabactive1 {
    background: #a5a5a5;
    transition-duration: 0.5s;
}

#submenu1 {
    padding: 5px;
    text-align: left;
    font-size: 12px;
}

.submenutext1 {
    display: none;
    height: 320px;
    padding: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #DCDCDC;
    box-shadow: inset 0 0 5px rgb(141, 141, 141);
    text-align: justify;
    font-family: arial;
    font-size: 11px;
    line-height: 1.5;
}

.anketafon {
    width: 600px;
    height: auto;
    margin: 0 auto;
    border: outset 3px #dadada;
    background-color: #8D8D8D;
}

.anketa1 {
    height: 296px;
    margin: 15px;
    padding: 10px;
    background-color: #DCDCDC;
    box-shadow: inset 0 0 5px rgb(141, 141, 141);
}

.photo1 { float: left; }
.photo2 { float: right; margin: -138px 0 0 0; }

.name {
    float: right;
    width: 370px;
    padding: 5px;
    border-radius: 15px 0;
    background-color: #8D8D8D;
    text-align: center;
    font-family: lobster;
    font-size: 24px;
    line-height: 70%;
    color: #ffffff;
}

.poloska {
    height: 22px;
    overflow-y: auto;
    background-color: #ffffff;
    text-align: center;
    line-height: 22px;
}

.poloska1 { float: left; width: 164px; margin: 170px 0 0 -164px; }
.poloska2 { float: left; width: 164px; margin: 196px 0 0 -164px; }
.poloska3 { float: left; width: 383px; margin: 174px 0 0 -164px; }
.poloska4 { float: left; width: 383px; margin: 4px 0 0 0; }
.poloska5 { float: left; width: 383px; margin: 4px 0 0 0; }
.poloska6 { float: right; width: 164px; margin: -242px 0 0 386px; }
.poloska7 { float: right; width: 164px; margin: -216px 0 0 386px; }
.poloska8 { float: right; width: 164px; margin: -190px 0 0 386px; }

.property {
    float: right;
    width: 201px;
    height: 153px;
    margin: -242px 169px 0 0;
    padding: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    text-align: justify;
}

.anketaplaceholder {
    border: 2px solid #ffffff !important;
}

.opisanie {
    padding: 0 10px;
    background-color: #DCDCDC;
    text-shadow: none;
    font-family: arial;
    font-size: 10px;
    letter-spacing: 2px;
    color: #8d8d8d;
}

/* виза */
.visafon {
    width: 400px;
    height: auto;
    margin: 0 auto;
    border: outset 3px #dadada;
    background-color: #8D8D8D;
}

.visa1 {
    height: 126px;
    margin: 10px;
    padding: 10px;
    background-color: #DCDCDC;
    box-shadow: inset 0 0 5px rgb(141, 141, 141);
}

.visaamsfoto {
    float: left;
    margin: -27px 0 0 -3px;
}

.visawelcome {
    float: right;
    width: 260px;
    margin: -10px -12px 0 142px;
    padding: 5px;
    border-radius: 15px 0;
    background-color: #8D8D8D;
    text-align: center;
    font-family: lobster;
    font-size: 16px;
    line-height: 70%;
    color: #ffffff;
}

.visawelcometext {
    float: right;
    width: 220px;
    height: 84px;
    margin: 4px -7px 0 0;
    padding: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    box-shadow: inset 0 0 5px rgb(141, 141, 141);
    text-align: justify;
}

.visaicons  { float: left; margin: 4px 0 0 0; }
.visaicons2 { float: left; margin: 2px 0 0 0; }

/* отношения */
.relatz {
    width: 570px;
    height: auto;
    padding: 5px 10px;
    border-radius: 10px 0 10px 0;
    background-color: #8D8D8D;
    text-align: center;
    font-family: lobster;
    font-size: 18px;
    color: #fff;
}

.relback {
    position: relative;
    width: 180px;
    height: 180px;
    background-color: #DCDCDC;
}

.relstatus {
    position: absolute;
    right: 7px;
    z-index: 2;
    margin-top: 5px;
    padding: 1px 15px;
    background-color: #8D8D8D;
    font-family: bebas neue;
    font-size: 12px;
    letter-spacing: 1px;
    color: #ffffff;
}

.relface {
    position: absolute;
    width: 150px;
    height: 100px;
    margin-top: 10px;
    margin-left: 15px;
    background-image: url(http://placehold.it/150x100);
}

.relname {
    position: absolute;
    margin-top: 100px;
    margin-left: 7px;
    padding: 1px 15px;
    background-color: #8D8D8D;
    font-family: bebas neue;
    font-size: 12px;
    letter-spacing: 1px;
}

.relname a {
    color: #ffffff !important;
}

.reltext {
    position: absolute;
    width: 140px;
    height: 31px;
    margin-top: 120px;
    margin-left: 10px;
    padding: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 15px;
    background-color: #ffffff;
    font-size: 9px;
    line-height: 9px;
}

/* хроники */
.hron1 {
    position: relative;
    width: 310px;
    height: 150px;
    background-color: #DCDCDC;
}

.hronname1, .hronname2, .hronname3 {
    position: absolute;
    width: 265px;
    margin-left: 7px;
    padding: 1px 15px;
    text-align: center;
    font-family: bebas neue;
    font-size: 12px;
    letter-spacing: 1px;
}

.hronname1 { margin-top: 10px; background-color: #8D8D8D; }
.hronname2 { margin-top: 30px; background-color: #ffffff; }
.hronname3 { margin-top: 50px; background-color: #8D8D8D; color: #ffffff; }

.hronname1 a {
    color: #ffffff !important;
}

.hrontext1 {
    position: absolute;
    width: 271px;
    height: 51px;
    margin-top: 72px;
    margin-left: 10px;
    padding: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 15px;
    background-color: #ffffff;
    font-size: 9px;
    line-height: 9px;
}

/* итоги */
.itogifon {
    width: 600px;
    height: auto;
    margin: 0 auto;
    border: outset 3px #dadada;
    background-color: #8d8d8d;
}

.itogi1 {
    width: 580px;
    height: 320px;
    margin: 10px;
    background-color: #dcdcdc;
    box-shadow: inset 0 0 5px rgb(169 169 169);
}

.nameitogi {
    width: 470px;
    height: 40px;
    margin-left: 100px;
    padding: 5px;
    border-radius: 25px 0;
    background-color: #8d8d8d;
    text-align: center;
    font-family: lobster;
    font-size: 24px;
    line-height: 70%;
    color: #ffffff;
}

.itogidata {
    padding: 0 5px;
    background-color: #dcdcdc;
    text-shadow: none;
    font-family: arial;
    font-size: 10px;
    letter-spacing: 2px;
    color: #505050;
}

.igrokmesfoto { float: left; margin: -27px 0 0 10px; filter: grayscale(1); }
.igroknedfoto { float: left; margin: 27px 0 0 -104px; filter: grayscale(1); }

.nameigrokmes, .nameigrokned, .namepost, .postzaned {
    background-color: #8d8d8d;
    text-align: center;
    font-family: arial;
    font-size: 10px;
    line-height: 70%;
    color: #ffffff;
}

.nameigrokmes { float: left;  width: 164px; height: auto; margin: -44px 0 0 10px; padding: 5px; }
.nameigrokned { float: left;  width: 94px;  height: auto; margin: 10px 0 0 10px;  padding: 5px; }
.namepost     { float: right; width: 260px; height: auto; margin: 0 10px 0 0;     padding: 5px; }
.postzaned    { float: right; width: 160px; height: 30px; margin: -52px 109px 0 0; padding: 10px; }

.postned {
    float: right;
    width: 260px;
    height: 96px;
    margin: 10px 10px 0 0;
    padding: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    text-align: justify;
    filter: grayscale(1);
}

.epfoto, .parafoto1, .akt1 { float: left; filter: grayscale(1); }
.akt2 { float: right; margin: -54px 0 0 0; filter: grayscale(1); }
.para1 { margin-left: 162px; filter: grayscale(1); }

.itogi2 {
    float: left;
    width: 560px;
    height: 110px;
    margin: 10px 0 0 10px;
    background-color: #ffffff;
}

.blabla {
    float: right;
    width: 250px;
    height: 46px;
    margin: 5px 20px 0 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    text-align: center;
}

.kolvopostov {
    padding: 0 10px;
    background-color: #dcdcdc;
    text-shadow: none;
    font-family: arial;
    font-size: 16px;
    letter-spacing: 2px;
    color: #505050;
}

/* «хочу видеть» */
img.wannasee {
    max-width: 470px;
    border: solid 2px #452003 !important;
}

/* прайс подарков */
.p1 {
    display: inline-block;
    min-width: 60px;
    margin: 2px 0;
    padding: 5px;
    border-radius: 15px;
    background-color: #E4E4E4;
    box-shadow: inset 0 0 15px #BBB6B6, 0 1px 2px #A8A5A5, 0 -1px 1px #E4E4E4;
    text-align: center;
    font-family: lobster;
    font-size: 12px;
    color: #645D5D;
}

.lable {
    display: block;
    width: 130px;
    margin: 0 auto 10px auto;
    padding: 5px;
    border-radius: 15px;
    background-color: #E4E4E4;
    box-shadow: inset 0 0 15px #BBB6B6, 0 1px 2px #A8A5A5, 0 -1px 1px #E4E4E4;
    text-align: center;
    text-shadow: 0 1px 3px #FDF5F5, 0 -1px 1px #F7F2F2;
    font-family: lobster;
    font-size: 16px;
    color: #7C7676;
}

/* аэстетики (старый формат) */
.aesthetic-photo-upd { position: relative; top: 13px; max-width: 500px; margin-top: -18px; margin-left: 6px; }
.aesthetic-photo-upd img { max-width: 500px; }
.aesthetic-text-upd {
    position: relative;
    top: 10px;
    left: 4px;
    width: 350px;
    min-height: 13px;
    background-color: #000000;
    text-align: center;
    font-family: kelly slab;
    font-size: 10px;
    line-height: 13px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #FFF;
}
.aesthetic-upd div { margin: 0 auto; }
.aesthetic-upd { margin-bottom: 35px; }

/* инстаграм (старый формат) */
.ibk2 { width: 340px; padding: 5px; background: linear-gradient(to bottom, rgba(85,134,171,1) 0%, rgba(67,114,152,1) 41%, rgba(51,97,135,1) 100%); }
.ilogo { text-align: center; text-shadow: 1px 1px 1px #2c4860; font-family: lobster two; font-size: 19px; line-height: 100%; color: #e6edf4; }
.insus { margin-left: 4px; margin-right: 8px; text-shadow: 1px 1px 1px #1f3547; font-family: calibri; font-size: 12px; font-weight: bold; line-height: 100%; letter-spacing: -0.5px; color: #ffffed; }
.ins111 { width: 1px; height: 30px; margin-left: 10px; margin-right: 10px; background-color: #426d8d; box-shadow: 1px 1px 0 #5b85a6; }
.ins22 { width: 25px; height: 21px; margin-right: 5px; background-image: url(http://i.imgur.com/VsbBWbI.png); }
.ins33 { letter-spacing: 0; text-shadow: 1px 1px 0 #1f3547; color: #e3ecf1; }
.ins44 { width: 350px; height: 1px; background-color: #e4e4e4; box-shadow: 0 1px 0 #ffffff; }
.ins55 { padding: 10px; background-color: #f6f6f6; }
.inscredit { padding: 4px; background-color: #ffffff; font-family: calibri; font-size: 8px; line-height: 100%; color: #8e8e8e; }
.insh { margin-right: 15px; text-align: center; font-family: calibri; font-size: 26px; font-weight: bold; line-height: 100%; letter-spacing: -1px; text-transform: lowercase; color: #4175a4; }
.inslike { margin-right: 115px; text-align: center; font-family: calibri; font-size: 17px; font-weight: bold; line-height: 100%; letter-spacing: -1px; color: #4175a4; }
.insa1, .insa3 { width: 23px; height: 23px; padding: 4px; border: 1px #b6b6b6 solid; border-radius: 3px; background-color: #d9d9d9; }
.insa1 { margin-right: 6px; }
.insa2, .insa4 { margin-top: 3px; text-align: center; text-shadow: #6c6c6c 1px 0, #6c6c6c 0 1px, #6c6c6c 0 -1px, #6c6c6c -1px 0; font-family: calibri; font-weight: bold; line-height: 100%; letter-spacing: -1px; text-transform: lowercase; color: #8a8a8a; }
.insa2 { font-size: 20px; }
.insa4 { margin-right: 6px; font-size: 22px; }
.insii { border: 1px #c5c5c3 solid; border-radius: 3px; }
.inshh { margin-left: 6px; text-align: left; font-family: calibri; font-size: 20px; font-weight: bold; line-height: 100%; letter-spacing: -1px; text-transform: lowercase; color: #070707; }
.insah { margin-left: 6px; padding: 0; font-family: calibri; font-size: 13px; font-weight: lighter; line-height: 95%; color: #393939; }
.insah i { color: #7972a5; }
.imgtagg { width: 280px; padding: 4px; text-align: left; font-family: calibri; font-size: 9.5px; font-weight: lighter; line-height: 95%; color: #508fbc; }

/* сообщение в объявлениях (старый формат) */
.announce {
    width: 400px;
    height: auto;
    margin: 15px auto 0;
    border-radius: 10px;
    background-color: var(--dropdown-bg-color);
    text-align: justify;
    line-height: 1.5;
    color: var(--primary-text-color);
}

.announce .icon {
    width: 65px;
}

/* бункер */
.bunker {
    position: relative;
    width: 780px;
    margin: auto;
    padding: 5px;
    border: 5px solid #f3e04190;
    background-color: #fff;
}

.bunker_description {
    display: inline-table;
    width: 195px;
    margin-left: 15px;
    margin-bottom: 5px;
    padding: 5px;
}

.bunker_description p { max-height: 17px; }
.bunker_description img { margin: 0 !important; }

.bunker_specs {
    display: inline-table;
    width: 75px;
    margin-left: 5px;
    padding: 5px;
    background-color: #f3e04190;
}

.bunker_profile_ava { display: inline-block; }

.bunker_profile_name {
    display: inline-block;
    height: 70px;
    padding-top: 25px;
    padding-left: 5px;
    vertical-align: middle;
    text-transform: uppercase;
}

.bunker_profile { vertical-align: top; }

.bunker_vibil {
    background-color: #efefef50;
    color: #efefef;
}

.bunker_vibil img {
    opacity: 30%;
    filter: grayscale(100%);
}

.bunker_description.bunker_vibil p { opacity: 30%; }

.bunker_description.bunker_vibil:hover {
    background-color: #fff;
    color: #000;
    transition: .7s;
}

.bunker_description.bunker_vibil:hover p,
.bunker_description.bunker_vibil:hover img {
    opacity: 100%;
    transition: .7s;
}

.bunker_info { padding: 10px; }

.bunker_title {
    height: 44px;
    margin: 10px 5px;
    padding: 5px;
    background-color: #f3e04190;
    vertical-align: middle;
    text-align: center;
    text-transform: uppercase;
    font-size: 24px;
    line-height: 16px;
}

.bunker_subtitle {
    height: 22px;
    text-align: left;
    text-transform: uppercase;
    font-size: 14px;
}

/* ведьмачья неделя */
.sacthwitcher {
    width: 671px;
    height: 510px;
    margin: 10px 0 16px 20px !important;
    padding: 40px 10px 50px 10px !important;
    background: url(https://i.imgur.com/sCL1Uo8.png);
    font-family: Arial;
    color: #979797;
}

.sacttitlewitcher {
    margin: 0 43px 10px -10px !important;
    padding: 5px 0;
    text-align: center;
    font-family: "Roboto Condensed";
    font-size: 32px;
    color: #9f9187 !important;
}

.saccitawitcher {
    max-width: 600px;
    margin: 10px 75px 0 10px !important;
    padding: 5px;
    border-radius: 15px;
    text-align: center;
    font-family: Verdana;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
}

.sacbodywitcher {
    width: 480px;
    max-height: 420px;
    margin-right: 50px;
    padding-right: 20px;
    overflow: auto;
    text-align: justify;
    text-transform: none;
    font: 11px arial;
    line-height: 11px;
}

.sacbodywitcher p {
    font-family: "Roboto Condensed";
    font-size: 14px;
    color: #b2b1b1 !important;
}

.sacbodywitcher::-webkit-scrollbar-thumb:vertical {
    background-color: #bebcba !important;
}

.sacbodywitcher::-webkit-scrollbar {
    background-color: #120501 !important;
}

/* купоны и тотемы на личных страницах */
.coupon, .totem {
    display: inline-block;
    padding: 3px;
    vertical-align: top;
}

.coupon p, .totem p {
    display: none;
    max-width: 72px;
    min-height: 72px;
    margin-top: 5px;
    padding: 3px;
    border: 1px solid #cfcfcf;
    border-radius: 9px;
    background-color: #dfdfdf;
    word-wrap: break-word;
    hyphens: auto;
    font-size: 10px;
}

#toggleCouponDescriptions, #toggleTotemDescriptions {
    display: inline-table;
    margin-bottom: 10px;
    cursor: pointer;
}


/*************************************************************
  15. МОБИЛЬНАЯ ВЕРСИЯ (экраны до 760px)
  Работает, только если на странице есть meta viewport —
  её добавляет скрипт в начале HTML-верха.
  Подразделы идут в том же порядке, что и разделы файла.
**************************************************************/

@media (max-width: 760px) {

    /* 15.1 Каркас */
    html, body {
        padding: 0;
    }

    #pun_wrap {
        min-width: 0;
    }

    #pun {
        margin: 8px;
        max-width: none;
        box-shadow: 0 4px 14px var(--shadow), inset 0 0 0 4px var(--paper), inset 0 0 0 5px rgba(0, 0, 0, .5);
    }

    #pun .punbb {
        width: auto;
        margin: 0 10px;
    }

    /* 15.2 Шапка: строка приветствия, переключатели */
    #pun-title {
        left: 0;
        width: auto;
        margin: -84px 0;
        transform: none;
    }

    #pun-status .container {
        left: 0;
        right: 0;
        width: auto;
        height: 14px;
        padding: 0 28px 0 12px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        text-align: left;
        scrollbar-width: none;
    }

    #pun-status .container::-webkit-scrollbar {
        display: none;
    }

    .dim-button {
        top: 2px;
        right: 6px;
    }

    /* 15.3 Титул: только название, высота как на компьютере */
    .v-titlebar {
        grid-template-columns: minmax(0, 1fr);
        width: auto;
        height: 61px;
        padding: 0 10px;
    }

    .v-titlebar .v-meta {
        display: none;
    }

    .v-titlebar h1 {
        font-size: 18px !important;
        letter-spacing: .14em;
    }

    /* 15.4 Навигация: одна строка с прокруткой пальцем —
       высота не меняется, поэтому ничего не наезжает */
    #pun-navlinks,
    #pun-ulinks {
        left: 10px;
        right: 10px;
        width: auto;
    }

    #pun-navlinks .container,
    #pun-ulinks .container {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    #pun-navlinks .container::-webkit-scrollbar,
    #pun-ulinks .container::-webkit-scrollbar {
        display: none;
    }

    #pun-navlinks li,
    #pun-ulinks li {
        flex: 0 0 auto;
    }

    #pun-navlinks li a {
        padding-left: 12px;
        padding-right: 12px;
    }

    #pun-ulinks li a {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* счётчик сообщений — внутри пункта, а не над ним */
    .num_msg {
        margin: 0 0 0 4px !important;
    }

    /* 15.5 Справочник */
    .table-links {
        gap: 8px;
        padding: 7px 0;
    }

    .table-links-label {
        display: none;
    }

    .dropdown-toggle {
        letter-spacing: .08em;
    }

    /* список открывается на всю ширину строки, а не от кнопки */
    .dropdown {
        position: static;
    }

    .dropdown-menu {
        top: calc(100% + 4px);
        right: 0;
        min-width: 0;
    }

    .dropdown-menu::before {
        display: none;
    }

    .table-links-extra {
        justify-content: space-between;
        width: 100%;
        margin-left: 0;
    }

    /* 15.6 Таблица шапки: ячейки друг под другом */
    .v-logchart {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "admins" "best" "top" "awards";
    }

    .v-logchart .v-admins,
    .v-logchart .v-bestpost {
        border-right: 0;
    }

    .v-logchart #best-post-content {
        -webkit-line-clamp: 5;
    }

    .v-logchart .v-awards-head {
        max-width: none;
    }

    .v-logchart .v-awards-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    /* билет: эпизод сверху, игрок снизу, линия отрыва горизонтальная */
    .v-logchart .v-hero-ticket {
        flex-wrap: wrap;
    }

    .v-logchart .v-hero-ep {
        flex-basis: 100%;
        border-right: 0;
        border-bottom: 1.5px dashed var(--ink);
    }

    .v-logchart .v-awards-grid {
        justify-content: center;
    }

    /* 15.7 Объявления */
    #pun-announcement .container {
        width: auto;
        margin: 84px 0 0;
        padding: 10px 12px 12px;
        gap: 2px 10px;
        letter-spacing: .06em;
    }

    .sacobl,
    .sacobl_imp {
        margin: 0 4px;
    }

    /* 15.8 Главная и списки тем */
    #pun-main .category h2 span {
        width: auto;
        font-size: 15px;
        letter-spacing: .12em;
    }

    #pun-main .category h2 .catleft {
        padding: 0 6px 0 0;
    }

    #pun-main .category h2 .catright {
        display: none;
    }

    #pun-index tbody.hasicon {
        padding: 0 0 16px;
        border-top-width: 6px;
    }

    .punbb .main .category table,
    .punbb .main .forum table,
    .punbb .main .section table {
        width: 100%;
        margin: 0;
    }

    /* главная: без колонки «последнее сообщение» и без вертикальной метки READ */
    #pun-index .main .tcr {
        display: none;
    }

    #pun-index .main .tcl {
        width: 100%;
    }

    #pun-index td div.tclcon {
        padding-right: 8px;
    }

    #pun-index .tcl .intd > .icon::before {
        display: none;
    }

    /* список тем: без колонок «ответов» и «просмотров» */
    #pun-viewforum .tc2,
    #pun-viewforum .tc3 {
        display: none;
    }

    .main.multipage .tcr,
    .main.multipage .forum .tcr {
        width: 35% !important;
    }

    /* 15.9 Посты: профиль автора над текстом */
    .topic .post {
        margin-left: 0;
    }

    .punbb .post .container {
        width: 100%;
    }

    .punbb .post .post-author {
        float: none;
        width: auto;
        margin: 12px 0 0 !important;
    }

    .pa-fld1 {
        position: static;
        flex-direction: row;
        justify-content: center;
        margin: 0 0 6px;
        padding: 4px 0;
        border: 0;
        border-bottom: 1px dashed rgba(0, 0, 0, .2);
        background: none;
        box-shadow: none;
        backdrop-filter: none;
    }

    .pa-fld6 {
        left: 50%;
        transform: translateX(-50%);
    }

    .post-author li.pa-avatar.item2 img {
        max-width: 140px;
    }

    .punbb .post-body {
        margin-left: 0;
        border-left: 0;
    }

    .punbb .post-content {
        margin: 0;
        overflow-x: auto; /* широкие старые шаблоны прокручиваются */
    }

    .punbb .post-content img {
        max-width: 100%;
        height: auto;
    }

    #pun-main .topic h3 span {
        flex-wrap: wrap;
        gap: 6px;
        padding: 4px 8px;
    }

    .punbb .post-links,
    .punbb .post-links ul,
    .main.multipage.show_user_posts .post-links ul {
        margin-left: 0;
    }

    .post-rating {
        margin-left: auto;
        margin-right: 10px;
    }

    .post-vote p.container {
        width: auto !important;
        margin-right: 0 !important;
    }

    .punbb .post-sig dt {
        width: auto;
        margin-left: 0;
    }

    .punbb .linkst,
    .punbb .linksb {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px;
    }

    .sacth {
        width: auto;
        padding: 14px;
    }

    /* 15.10 Формы и редактор */
    .punbb .formal .container {
        padding: 1em;
    }

    .punbb fieldset {
        padding: 0 8px;
    }

    .punbb .areafield span.input,
    .punbb p.longinput span.input {
        padding: 0;
    }

    .punbb .helplinks {
        position: static;
        width: auto;
    }

    #form-buttons {
        overflow-x: auto;
    }

    #messages .fs-box .container {
        width: auto !important;
        margin-left: 0 !important;
    }

    .formal.messages-container #post-form.formal {
        margin: 0 !important;
    }

    #post-form.formal p span input[type="submit"]:first-child {
        margin-left: 0;
    }

    #smilies-area {
        width: auto !important;
        max-width: calc(100vw - 40px);
    }

    #mask_dialog .inner {
        width: calc(100vw - 16px) !important;
    }

    #mask_dialog .hv-form-block {
        width: auto;
    }

    /* 15.11 Всплывающие окна и переадресация */
    #pun-report .inner,
    #pun-reputation .inner,
    #pun-admin-award-form .inner {
        box-sizing: border-box;
        width: calc(100vw - 24px);
    }

    #pun-redirect #pun-main .info {
        width: 90%;
        margin-left: 5%;
    }

    #pun-redirect h1 {
        margin-left: 0;
    }

    #pun-redirect h1 span {
        font-size: 24px;
    }

    /* 15.12 Профиль: колонки друг под другом */
    #profile .container {
        padding-left: 1em;
    }

    #profilenav {
        float: none;
        display: block;
        width: auto;
        margin: 0 0 12px;
    }

    #viewprofile table,
    #viewprofile tbody,
    #viewprofile tr,
    #profile-left,
    #profile-right {
        display: block;
        width: auto;
    }

    #profile-left {
        border-right: 0;
        border-bottom: 1px solid rgba(0, 0, 0, .2);
    }

    #viewprofile li,
    #setmods dl {
        padding-left: 0;
    }

    #viewprofile li span,
    #setmods dt {
        float: none;
        display: block;
        width: auto;
        margin-left: 0;
        text-align: left;
    }

    #profile-right li {
        flex-wrap: wrap;
    }

    #profile-right li span {
        width: auto;
        text-align: left;
    }

    /* 15.13 Низ страницы */
    #pun-qjump {
        float: none;
        width: auto;
    }

    #pun-stats li.item1,
    #pun-stats li.item2 {
        float: none;
    }

    #pun-stats li.item3,
    #pun-stats li.item4 {
        text-align: left;
    }

    #pun-about p.container {
        width: auto;
        margin-left: 0;
    }

    #banners,
    .banners-footer {
        width: 100%;
        margin-left: 0 !important;
    }

    .banners {
        width: auto;
    }
}
