/*
========================================================================================
    ОСНОВНЫЕ ИМПОРТЫ И ПЕРЕМЕННЫЕ
========================================================================================
*/

/* Импорт базового стиля RusFF */
@import url(style_cs.1779126293.css);

/* Импорт Font Awesome Pro */
@import url("https://kit-pro.fontawesome.com/releases/v6.6.0/css/pro.min.css");

/* Импорт шрифтов (от Blanche) */
@import url(https://forumstatic.ru/files/001a/28/10/55678.css);

/* Импорт шрифтов (дополнительные) */
@import url('https://fonts.googleapis.com/css2?family=Alumni+Sans+Pinstripe:ital@0;1&family=Amatic+SC:wght@400;700&family=Bad+Script&family=Climate+Crisis:YEAR@1979&family=Hachi+Maru+Pop&family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Oswald:wght@200..700&family=Poiret+One&family=Train+One&family=Unbounded:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Comfortaa:wght@300..700&family=Exo+2:ital,wght@0,100..900;1,100..900&family=Great+Vibes&family=Jost:ital,wght@0,100..900;1,100..900&family=PT+Sans+Narrow:wght@400;700&family=Roboto+Flex:opsz,wght,XOPQ,XTRA,YOPQ,YTDE,YTFI,YTLC,YTUC@8..144,100..1000,96,468,79,-203,738,514,712&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap');

/*
-------------------------------------------------------------
    ОСНОВНЫЕ CSS ПЕРЕМЕННЫЕ (CUSTOM PROPERTIES)
-------------------------------------------------------------
*/
:root {
    /* Цвета */
    --body-bg: #eeeeee;
    --sec-bg: #dcdcdc;
    --link: #878FA3;
    --link-hover: #A9B3C4;
    --textcolor: #323544;
    --razdelcolor: #BDBDBD;
    --white: #ffffff;
    --gray: #696969;
    --black: #000000;
    --underline: #F2F2F2;
    --accent: navy; /* Мобильное */

    /* Размеры и отступы */
    --pwidth: 224px; /* Ширина блока автора в постах */
    --pad1: 10px 40px;
    --pad2: 5px 20px;
    --pad3: 5px 10px;

    /* Шрифты */
    --font-o: "Roboto Flex", arial; 
    --font-m: "Montserrat Alternates", sans-serif; 
    --font-p: "Poiret One", tahoma; 
    --font-t: "Train One", tahoma;
    --fa6: "Font Awesome 6 Pro";

    /* Полупрозрачные цвета (RGBA) */
    --glass-light: rgba(217, 217, 217, 0.08);
    --glass-white: rgba(255, 255, 255, 0.4);

    /* Границы */
    --border-white: #ffffff;

    /* Фоновые изображения и иконки */
    --bg-main: url(https://forumstatic.ru/files/001c/8e/36/37348.webp);
    --bg-header: url(https://forumstatic.ru/files/001c/8e/36/48654.jpg);
    --bg-footer: url(https://forumstatic.ru/files/001c/8e/36/25681.jpg);
    --rating-bg: url(https://forumstatic.ru/files/001b/a6/d4/26514.svg);
    --vote-bg: url(https://forumstatic.ru/files/0012/d8/04/75043.png);


    /* Иконки Font Awesome 6 (--fa6) */
    --icon-date: '\f073';
    --icon-mod: '\f4ff';
    --icon-profile: '\e4fd';
    --icon-pm: '\f0e0';
    --icon-email: '\40';
    --icon-delete: '\f2ed';
    --icon-edit: '\f044';
    --icon-respect: '\f445';
    --icon-positive: '\f164';
    --icon-posts: '\f70d';
    --icon-map: '\f20e';
    --icon-activity: '\e3c9';
    --icon-spoiler: '\f021';
    --icon-icons: '\f5d3';
    --icon-quote: '\f52d';
    --icon-bird: '\f520';
    --icon-vote: '\f27a';
}

/*
========================================================================================
    ГЛОБАЛЬНЫЕ НАСТРОЙКИ 
========================================================================================
*/

 body {
    font-family: var(--font-o);  text-transform: lowercase;
}

/* Скрытие служебных элементов и визуальных повторов */
.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,
.modlist, .lastedit,
.punbb div#pun-live-rusff,
.punbb .topic a.sharelink,
#pun-index thead,
#pun-stats h2,
#pun-title .title-logo,
#pun-announcement h2,
#pun-messages .clearer,
.pa-online, .pa-last-visit,
.pa-ua, .user-agent, .pa-gifts, 
#pun-profile h1 { /* заголовок профиля */
    font-size: 0; height: 0; width: 0; line-height: 0;
    position: absolute; left: -9999px; overflow: hidden;
    display: none !important;
}

/* Добавление clearfix */
#pun:after, .punbb .container:after, .punbb .post-links ul:after,
.punbb .main div.inline:after, .punbb .post-box:after, .punbb .linksb:after {
    clear: both; content: "."; display: block; height: 0;
    visibility: hidden; overflow: hidden; line-height: 0; font-size: 0;
}

/* Общие стили для всех элементов, скроллбары */
* {
    margin: 0; padding: 0; border: none;
    text-size-adjust: 100%; -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    scrollbar-width: thin; scrollbar-color: var(--body-bg) var(--sec-bg);
}
*::-webkit-scrollbar { width: 7px; height: 7px; }
*::-webkit-scrollbar-track { background-color: var(--sec-bg); }
*::-webkit-scrollbar-thumb { background-color: var(--link); }
*::-webkit-scrollbar-thumb:active { background: var(--body-bg); }

/* Выделение текста */
::selection { background: var(--link); color: var(--sec-bg); }

/* Зачеркнутый текст */
del {
    opacity: 0.7; filter: blur(2px); text-decoration: none;
    transition: all .3s linear 0s;
}
del:hover { opacity: 1; filter: none; }

/* Горизонтальная линия в постах */
.post-content hr { border: 1px dashed var(--body-bg); }

/* Сброс обводки при фокусе */
:focus { outline: none; }

/* Общие стили для ссылок */
a, .punbb #pun-admain a {
    text-decoration: none; color: var(--link);
    transition: all .2s linear 0s;
}
a:hover, .punbb #pun-admain a:hover { color: var(--link-hover); }

/* Общие стили для заголовков */
h1, h2, h3, h4, h5, h6, p, blockquote, pre { margin: 0; }
h1, h2 { padding: 10px 20px; font-weight: normal; text-align: center; }

/* Скрытие заголовков в некоторых многостраничных блоках */
.multipage h1, .multipage h2, .multipage thead { display: none; }

/* Сброс стилей списков и адреса */
ul, dl, li, dd, dt { list-style: none; }
address, em { font-style: normal; }

/* Модальные окна и всплывающие элементы */
#tags .container, .post_report, .post_reputation, #MyBookmarks,
.inner.popup_graffiti, .pun-modal .modal-inner,
.punbb-admin #pun-admin-award-form .inner { background: var(--sec-bg); border: 0.5px solid var(--body-bg);}


/*
========================================================================================
    ФОРМЫ И ЭЛЕМЕНТЫ ВВОДА
========================================================================================
*/

/* Область выбора шрифтов */
#font-area {
    display: flex; flex-direction: column; 
    flex-wrap: nowrap; gap: 10px;
    font-size: 10px; padding: 15px !important;
    max-height: 144px; overflow-y: auto;      
    width: fit-content;    
}


/* Общие стили для кнопок */
input.button, #pun-admain input.button, #sub4,
input[type="button"], input[type="submit"],
.formsubmit input, .formsubmit a, .formsubmit span { 
    padding: 2px 6px; cursor: pointer; transition: all .2s linear 0s;
    background: var(--body-bg); font-family: var(--font-o); opacity: .7;
    border-radius: 9px; font-size: 10px; color: var(--textcolor);
}

.formsubmit {
    display: flex;
    flex-wrap: wrap;
    gap: 8px; /* расстояние между кнопками */
}

/* Выпадающий список модерации */
select#mod-options { font-family: var(--font-o); font-size: 10px; background: var(--body-bg); }

/* Общие стили для полей ввода */
input[type="text"], input[type="password"], textarea, select {
    padding: 2px 5px; border: 1px solid var(--body-bg);
    background: var(--sec-bg); border-radius: 9px;
    font-size: 12px; font-family: 'arial';
}
optgroup { font-weight: bold; }

/* Флажки и чекбоксы */
.checkfield input[type="checkbox"], .radiofield input[type="radio"] { margin: 0 3px; }
p[class="checkfield"] *, div[class="checkfield"] *,
fieldset[class="radiofield"] * { height: 20px; vertical-align: middle; }

/* Общие стили формальных контейнеров */
.formal .container { padding: var(--pad1); }

/* Кнопки отправки формы */
.formsubmit { padding: 0; margin: 10px 0 0 0; text-align: center; }

/* Общие стили для fieldset и legend */
fieldset { border: none; }
fieldset legend { font-weight: bold; margin-bottom: 10px; }
fieldset legend span {display: none !important;}
fieldset fieldset { border: none; margin: 0; padding: 0 0 8px 0; }

/* Выбор языка */
#plng {
    border: 1px solid var(--body-bg) !important;
    padding: 5px 5px 5px 8px !important;
    margin: 0 20px 0 5px !important;
    border-radius: 10px;
}

/* Box внутри fieldset */
.fs-box { padding: 5px 0; }
.fs-box p, .fs-box fieldset { padding: 0 0 8px 0; }

/* Расположение полей в строку */
.inline .inputfield, .inline .selectfield, .inline .passfield {
    float: left; margin-right: 10px;
}
.inline .infofield { clear: both; }
.datafield br { display: none; }
.required label, .datafield span.input { font-size: 10px; }

/* Ширина текстовых полей */
textarea, .longinput input { width: 64%; margin: 0; }
.hashelp { position: relative; }

/* Админка */
.punbb-admin .adcontainer, .punbb-admin .adformal { border: none; }


/*
========================================================================================
    ОСНОВНОЙ КОНТЕЙНЕР ФОРУМА (HTML, BODY, #PUN)
========================================================================================
*/

/* Фон HTML */
html { background: var(--body-bg); }

/* Заплатка для фиксированного фона */
body::before {
    content: ""; display: block; position: fixed;
    left: 0; top: 0; width: 100%; height: 100%;
    min-width: 100vw; min-height: 100vh; z-index: -10;
    background: var(--textcolor) var(--bg-main) no-repeat top center/cover;
}

/* Основной контейнер форума */
#pun {
    margin: 30px auto; width: 950px;
    background: var(--sec-bg); color: var(--textcolor);
    border-radius: 23px;
}

/* Внутренний контейнер сброса */
.punbb { font: 12px Arial, Verdana; }

/* Настройки внутренних блоков */
.punbb > div .container { padding: var(--pad1); }


/*
========================================================================================
    ШАПКА И НАВИГАЦИЯ
========================================================================================
*/

/* Блок шапки */
#pun-title {
    background: var(--bg-header); height: 370px;
    width: 950px; border-radius: 20px 20px 0 0;
}

/* Навигационные ссылки */
#pun-navlinks {
    position: absolute; top: 365px; width: 950px;
    font-family: var(--font-p); font-weight: 700; text-transform: uppercase;
    text-align: center; backdrop-filter: blur(4px); background: var(--glass-light);
}
#pun-navlinks a { color: var(--body-bg); }
#pun-navlinks a:hover { color: var(--white); }
#pun-navlinks li {
    display: inline; border-radius: 23px; padding: 4px 8px;
    font-size: 16px; text-transform: lowercase;
}

/* Пользовательские ссылки */
#pun-ulinks {
    font-family: var(--font-o); font-size: 10px;
    t text-align: center; margin-top: -5px;
}
#pun-ulinks a { color: var(--textcolor); }
#pun-ulinks li { padding: 0 5px; display: inline; }
#pun-navlinks .container,
#pun-ulinks .container {
    text-align: center;
}

/* Блок статуса и крошки (хлебные крошки) */
#pun-status {
    font-family: var(--font-o);  font-size: 10px;
    margin-top: -87px !important; position: absolute; z-index: 10;
}
#pun-status span { white-space: nowrap; margin-right: 5px; }
.crumbs.container {
    font-family: var(--font-o); font-size: 10px;
    text-align: center; 
}


/*
========================================================================================
    ОБЪЯВЛЕНИЯ
========================================================================================
*/
#pun-announcement {}


/*
========================================================================================
    ФУТЕР
========================================================================================
*/

#html-footer { margin-top: -40px !important; }
#html-footer .container { padding: 0; }

/* Баннеры в футере */
.banners {
    background: var(--bg-footer); height: 87px;
    border-radius: 0 0 20px 20px; padding-right: 97px;
    padding-top: 37px; 
    box-sizing: border-box;
}
.banners .container {
    display: flex; flex-wrap: wrap; gap: 5px 10px;
    justify-content: center; overflow: auto; height: 40px;
    scrollbar-width: thin; scrollbar-color: var(--link) var(--body-bg);
}
.banners a { opacity: .7; }
.banners a:hover { opacity: 1; }


/*
========================================================================================
    ОСНОВНАЯ ФОРУМНАЯ ТАБЛИЦА (ИНДЕКС И СПИСКИ ТЕМ)
========================================================================================
*/

.main table { table-layout: fixed; width: 100%; }
.main th { padding: 5px 10px; }
.main td { padding: 10px; }

/* Ширина колонок внутри страницы */
.tc2, .tc3, .tcmod { text-align: center; width: 10%; }
#pun-viewforum .tcr, #pun-searchtopics .tcr, #pun-modviewforum .tcr {width: 29%; text-align: right; margin: 0 !important;}
#pun-viewforum td, #pun-searchtopics td {vertical-align: middle;}


/* Аватар последнего поста */
#pun-index td .user-avatar { float: right; margin: 1px 0 2px 11px; }
#pun-index td .avatar-image { outline: 2.5px solid var(--razdelcolor); }
.punbb .user-avatar .avatar-image {
    height: 30px !important; width: 30px !important;
    opacity: 0.85; background-position: center center; background-size: cover;
    background-repeat: no-repeat; float: right !important;
    filter: grayscale(1); border-radius: 5px !important;
}

#pun-viewforum .user-avatar .avatar-image,
#pun-searchtopics .user-avatar .avatar-image,
#pun-modviewforum .user-avatar .avatar-image, 
#pun-main .usertable .avatar-image,
#messages .avatar-image 
 {
    width: 18px !important; height: 18px !important;
    min-width: 15px; min-height: 15px;
    outline: 2px solid var(--razdelcolor);
    border-radius: 5px !important; margin-top: 7.5px;
}

/* аватар+ник на участниках */
.usertable td.username {
    display: flex !important;
    align-items: center;
    justify-content: flex-start; 
    padding-left: 15px !important; 
}
.usertable .user-avatar {
    display: block;
    width: 60px;  
    min-width: 60px; 
    margin: 0 15px 0 0 !important; 
}
.usertable .usersname {
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/* аватар+ник на личных страницах */
#messages td.pmtc22 {
    vertical-align: middle !important;
    white-space: nowrap !important; 
}
#messages .user-avatar {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
    float: none !important; 
}
#messages .avatar-image {
    display: block !important;
    width: 18px !important; 
    height: 18px !important;
    outline: 2px solid var(--razdelcolor);
    border-radius: 5px !important;
    background-size: cover;
}
#messages td.pmtc22 > a {
    display: inline-block !important;
    vertical-align: middle !important;
    line-height: 18px !important; 
    margin: 0 !important;
    padding: 0 !important;
}

#pun-viewforum td.tcr,
#pun-searchtopics td.tcr,
#pun-modviewforum td.tcr {
    position: relative; padding-right: 35px; 
}

#pun-viewforum td.tcr .user-avatar,
#pun-searchtopics td.tcr .user-avatar,
#pun-modviewforum td.tcr .user-avatar {
    position: absolute;
    right: 10px; top: 50%;
    transform: translateY(-50%); margin: 0 !important;
}


/* Ссылки на последний пост */
.lastpost-link, .lastpost {
    font-family: var(--font-o); text-transform: lowercase;
    text-align: center; color: var(--textcolor);
}
.lastpost-link,
.lastpost {
    font-size: 12px;
}

/* Дополнительные настройки ширины колонок на главной */
#pun-index .tc2, #pun-index .tc3, #pun-index .tcmod { visibility: hidden; }
#pun-searchtopics .tcl, #pun-modviewforum .tcl { width: 60%; }
#pun-searchtopics .tc2, .tc3 { text-align: left; width: 10%; }
#pun-debug table .tcl { width: 15%; }
#pun-debug .tcr { width: 90%; }
#pun-index tr{position: relative;display: block;min-height: 90px;}
#pun-index td.tcl{display: block; width: 100%; box-sizing: border-box; padding-right: 420px;}
#pun-index td.tcr{position: absolute;top: 50%; right: 40px; transform: translateY(-50%);
 width: 380px; margin: 0 !important; padding: 0; text-align: right; box-sizing: border-box;}

/* Контейнеры на главной с иконками */
#pun-index tbody.hasicon {border-radius: 17px; display: block; padding: 23px; width: 890px;}
tbody.hasicon td.tcl {padding-left: 0; width: auto;}

/* Ссылки и текст в категориях/форумах */
.desktext {
    font-family: var(--font-o); font-size: 10px;
    text-transform: lowercase; color: var(--gray);
padding: 10px 0 0 0; 
}
.desklink {
    margin-top: 10px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.desklink a { 
border: 1px solid var(--body-bg); padding: 3px 8px; 
border-radius: 5px; color: var(--textcolor); 
} 
.desklink a:hover { 
border: 1px solid var(--body-bg); background: var(--body-bg); 
color: white; 
}
.welktext {
    position: relative; padding: 20px 10px 10px 18px;
    font-family: Inter, var(--font-o); font-size: 12px;
    text-transform: lowercase; color: var(--textcolor);
}
.welktext::before {
    content: "";
    position: absolute; left: 0; top: 7px;
    width: 2px; height: 100%;
    background: linear-gradient(to bottom, var(--body-bg), transparent);
}
.welktext::after {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 100%;
    height: 2px;
    background: linear-gradient(
        to right,
        var(--body-bg),
        transparent
    );
}

.welklink a {     
display: inline-block;
    background: var(--body-bg);
    padding: 2px 15px 2px 15px;
    border-radius: 12px;
    color: var(--textcolor) !important;
    transition: .2s ease;
margin-top: 7px;
font-size: 8px; font-family: Inter;
}
.welklink a:hover {
background: var(--link);
    color: var(--white) !important;
}

/* Список тем в форуме */
div#pun-viewforum tbody.hasicon {}
tr.tr-divider.imp, tr.tr-divider.st {
    height: 20px; display: flex; align-items: center; justify-content: center;
}
tr.tr-divider.st { background: var(--sec-bg); color: var(--link-hover); }
tr.tr-divider.imp {
    border-radius: 9px 9px 0 0; background: var(--link); color: var(--white);
}
div#pun-viewforum tbody.hasicon tr,
div#pun-searchtopics tbody.hasicon tr {
    font-family: var(--font-o); font-size: 11px;
}
#pun-viewforum table { background: var(--sec-bg); border-radius: 9px; }
#pun-viewforum tc2::before { content: "ответов"; }

/* Иконки статуса тем */

#pun-index div.icon::before {
    content: ""; display: block; width: 50px; height: 50px;
    margin-left: -15px; margin-top: -10px; font-weight: 200; 
    content: var(--icon-icons); font-family: var(--fa6); font-size: 33px;
}
#pun-index tr.inew div.icon::before { opacity: 1; }
div.icon {
    position: absolute; margin-left: -20px; background: none !important;
    border-radius: 0; display: flex !important; align-items: center;
    justify-content: center; white-space: nowrap; overflow: visible;
}
div.icon:before {
    content: var(--icon-icons); font-family: var(--fa6); font-size: 13px; font-weight: 200;
    color: var(--body-bg); padding-top: -10px; padding-left: 10px; 
}
tr.inew div.icon:before { color: var(--link); }
tr.isticky div.icon:before { color: var(--razdelcolor); }
tr.iclosed div.icon:before { color: var(--link-hover); }

#pun-index .tclcon { width:auto; max-width:100%;}
.tclcon { margin-left: 25px !important; }


/* Оформление всплывающей подсказки © Домовой */
#tooltip {
    position:absolute; background-color:var(--link); z-index: 999; max-width:200px;
    -moz-border-radius:4px; -khtml-border-radius:4px; -webkit-border-radius:4px;
    border-radius:4px; font-family:var(--font-o); font-size:12px; display:none;
    color:var(--white); text-align:center; padding:4px; text-transform: lowercase;
}

/* Категории на главной */
#pun-index .category h2 {
    padding: 0 50px; border-bottom: 3px dotted var(--razdelcolor);
    font-family: var(--font-t); overflow: hidden; height: 23px;
    line-height: 45px;
}
#pun-index .category h2 span:not(.categoryTool) {
    font-family: var(--font-t); font-size: 25px; text-transform: lowercase;
    color: var(--razdelcolor); display: block; transform: scaleY(1.5);
    transform-origin: bottom;
}
.categoryTool {
    font-family: var(--font-o); font-style: italic;
    font-size: 9px; text-transform: lowercase; color: var(--textcolor);
    display: block; margin-top: -10px;
}

/* Названия форумов на главной */
#pun-index .tcl h3 {
    font-family: var(--font-m); font-size: 21px;
    text-transform: uppercase; letter-spacing: 0.1em;
}
#pun-index .tcl h3 a { color: var(--textcolor); }
#pun-index .tcl h3 a:hover { letter-spacing: 0.2em; }

/* Статистика на главной */
#pun-stats { margin-top: 20px; }
#pun-stats .container {
    display: flex; flex-wrap: wrap; gap: 10px;
    justify-content: center; text-transform: lowercase;
    font-family: var(--font-o); font-size: 10px;
}
.online-list { font-size: 11px; font-family: var(--font-o); }
#pun-stats li.item1, #pun-stats li.item2,
#pun-stats li.item3, #pun-stats li.item4 {
    background: var(--sec-bg); padding: 5px 25px; border-radius: 23px;
}
li#onlinelist {
    margin-top: 10px; text-align: justify;
    flex-grow: 1; width: 100%;
}


/*
========================================================================================
    УПРАВЛЕНИЕ ТЕМАМИ
========================================================================================
*/

.multipage { margin-top: 10px; }
.linkst, .linksb { 
    position: relative; padding: var(--pad2); display: flex;
    justify-content: space-between; margin: 0 30px 10px;
    text-transform: lowercase; font-family: var(--font-o);
    font-weight: 700; font-size: 10px; color: var(--textcolor);
}
.linkst .pagelink, .linksb .pagelink {
    text-transform: lowercase; font-family: var(--font-o);
    font-weight: 700; font-size: 10px; color: var(--textcolor);
}
.linkst .postlink { text-align: right; }
.linksb { flex-wrap: wrap; }
#pun-viewtopic .linksb, #pun-main.main.multipage .linksb {
    position: relative; padding: var(--pad2); display: flex;
    flex-wrap: wrap; justify-content: space-between; margin: 0 30px 10px;
}
#pun-main.main.multipage .tcr a, #pun-main.main.multipage .tcr .byuser {vertical-align: middle; }

.linksb .pagelink { order: -1; }
.subscribelink { width: 100%; text-align: right; }
.linksb noindex { order: 1; }
.linksb .postlink { margin-left: auto; text-align: right; }
.postlink.long { display: flex; gap: 10px; justify-content: flex-end; }
.postlink.long .new-topic { padding-right: 5px !important; }
.postlink.long .new-topic, .postlink.long .new-poll {
    background: var(--link); padding: 2px 5px; border-radius: 10px;
}
.postlink.long .new-topic:hover, .postlink.long .new-poll:hover {
    background: var(--link-hover);
}
.postlink.long a { color: white; }
.topic-users-in { font-family: var(--font-o); font-size: 11px; }

/* Модераторское меню, RSS, Atom */
.modmenu .container { padding: var(--pad3); text-align: right; }
.modmenu .container strong { float: left; }
.modmenu input { margin-left: 10px; }
.modmenu strong {
    font-family: var(--font-o); font-size: 11px;
}
.modmenu strong::before {
    content: var(--icon-mod); font-family: var(--fa6);
    padding: 0 6px 0 0; font-weight: 300;
}


/*
========================================================================================
    ПОСТЫ И ВЫВОД СОДЕРЖИМОГО
========================================================================================
*/

/* Общие стили для поста */
.post { background: var(--sec-bg); margin: 20px 30px 0; border-radius: 10px; padding: 5px; }
.toppost, .topicpost { margin-top: 0; }

/* Контейнер содержимого поста */
.post > .container { display: flex; flex-wrap: wrap; align-items: start; padding: 10px 15px !important; }

/* Дата и номер поста */
.post h3 span {
    padding: var(--pad2); display: block;
    font-family: var(--font-o); font-size: 11px;
    text-transform: lowercase; color: var(--link);
    border-bottom: 1px dashed var(--body-bg);
}
.permalink { color: var(--link); }
.permalink::before { content: var(--icon-date); font-family: var(--fa6); padding: 0 5px 0 0; font-weight: 200; }
.post h3 strong::before { content: '# '; }
.post h3 strong { float: right; text-align: right; font-weight: normal; }

/* Блок автора поста */
.post-author {
    width: var(--pwidth); text-align: center; box-sizing: border-box;
    background: url('https://forumstatic.ru/files/001c/8e/36/37348.webp'); /* уникальный фон */
    border-radius: 0 9px 9px 0; margin-bottom: 15px; position: relative;
    left: -50px;
}
.post-author ul { padding: 10px; }

/* Имя автора */
.pa-author {
    font-family: var(--font-m); font-weight: 700; font-size: 25px;
    text-transform: lowercase; text-align: center; color: var(--body-bg);
}
.pa-author a { color: var(--body-bg); }

/* Звание и статус автора */
.pa-title {
    font-family: var(--font-o);  font-size: 10px;
    text-transform: lowercase; text-align: center; 
    margin-bottom: 10px; color: var(--textcolor); 
    background: var(--body-bg); 
    padding: 3px 8px; border-radius: 5px; 
    display: table; width: auto;             
    max-width: calc(100% - 16px); margin: 0 auto 10px auto; 
    box-sizing: border-box; word-wrap: break-word;    
}

/* Общие стили для фона аватарки и полей */
.pa-fld1, .pa-avatar, .addflds { background: var(--body-bg); }

/* Аватар */
.pa-avatar {
    background: var(--body-bg); padding-top: 15px; margin-top: -20px;
    border-radius: 5px;
}
.pa-avatar img {
    border-radius: 3px; max-width: 180px; margin-top: 3px;
    margin-bottom: 10px;
}

.pa-posts, .pa-respect, .pa-positive { background: var(--body-bg); border-radius: 5px; margin-top: 5px;}

/* Дополнительные поля профиля */ 
.pa-fld1 { padding-top: 15px; margin-top: -15px; border-radius: 0 0 5px 5px; padding-bottom: 40px; margin-bottom: -25px; }

.addflds { backdrop-filter: blur(5px); background: color-mix(in srgb, var(--body-bg), transparent 50%); border-radius: 16px; width: fit-content; margin: 25px auto 1px; padding: 2px 13px; position: relative; z-index: 1; }

.pa-posts, .pa-respect, .pa-fld2, .pa-positive { font-family: var(--font-o); font-weight: 700; text-transform: lowercase; text-align: center; color: var(--textcolor); padding: 0 5px; display: inline-block; } 
.pa-posts, .pa-respect, .pa-positive { font-size: 10px; }

/* Иконки к полям "Сообщений" и "Репутация" */
.pa-posts .fld-name, .pa-respect .fld-name, .pa-positive .fld-name,
.pa-fld3 .fld-name, .pa-fld4 .fld-name {
    position: relative; z-index: 9; flex: 0 0 auto; font-size: 0;
}
.pa-posts .fld-name::before, .pa-respect .fld-name::before, .pa-positive .fld-name::before,
.pa-fld3 .fld-name::before, .pa-fld4 .fld-name::before {
    font: 400 10px/8px var(--fa6); color: var(--textcolor);
}
.pa-respect .fld-name::before { content: var(--icon-respect); }
.pa-posts .fld-name::before { content: var(--icon-posts); }
.pa-fld3 .fld-name::before { content: var(--icon-map); }
.pa-fld4 .fld-name::before { content: var(--icon-activity); }
.pa-positive .fld-name::before { content: var(--icon-positive); }

/* Ссылки на "Репутации" */
.pa-respect > a { position: absolute; margin: 0 0 0 0px; width: 10px; height: 10px; background-color: var(--gray); display: none !important;}
.pa-respect .fld-name a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--link-hover); }
.pa-respect img { display: none !important;}

/* Поле 3 (нижний баннер в блоке автора) */
.pa-fld3 {
    position: absolute; left: 0; bottom: 0; width: 222px; height: 52px;
    background: color-mix(in srgb, var(--body-bg), transparent 50%);
}
.pa-fld3 img {
    width: 100%; height: 100%; object-fit: cover;
    object-position: top center; border-radius: 0 0 8px 8px;
}

/* Тело поста */
.post-body { width: calc(100% - var(--pwidth)); }
.post-box { padding: 2px -5px; text-transform: none; margin-left: -30px; margin-right: -20px; }

/* Ссылки под постом */
.post-links {
    margin-left: var(--pwidth); width: 100%;
    text-transform: lowercase; font-family: var(--font-o);
    font-size: 10px; color: var(--textcolor) !important;
}
.post-links a {color: var(--textcolor) !important;}
.post-links ul {
    padding: 0; margin-left: calc(var(--pwidth) * -1); text-align: right;
}
.post-links li { display: inline-flex; align-items: center; }
.post-links li:not(:first-of-type) { padding-left: 10px; }
.pl-email, .pl-website { float: left; }
.clearer { clear: both; height: 0; font-size: 0; }

/* Иконки для кнопок управления постом */
li.pl-email.profile::before { content: var(--icon-profile); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }
li.pl-email.pm::before { content: var(--icon-pm); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }
li.pl-email.email::before { content: var(--icon-email); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }
li.pl-delete::before { content: var(--icon-delete); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }
li.pl-edit::before { content: var(--icon-edit); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }
li.pl-quote::before { content: var(--icon-quote); font-family: var(--fa6); margin-right: 6px; color: var(--textcolor); }


/*
-------------------------------------------------------------
    КОНТЕНТ ПОСТА (ЦИТАТЫ, СПОЙЛЕРЫ, ТАБЛИЦЫ, ПРОЧЕЕ)
-------------------------------------------------------------
*/
.punbb .post-content table,
.punbb .post-content tbody,
.punbb .post-content tr,
.punbb .post-content td,
.punbb .post-content th {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.punbb .post td { border: 0 !important; } /* Сокращение */
pre { font: 12px/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace; }
.post-content em { font-style: italic; }
.post-content em.bbuline { font-style: normal; text-decoration: underline; }
.post-content p {
    margin: 0; padding: 0 0 12px 12px; line-height: 150%; text-align: justify;
}
.post-content img { vertical-align: middle; }
.scrollbox { width: 100%; overflow: auto; max-height: 200px; }

/* Блоки цитат и кода */
.quote-box, .code-box {
    margin: 15px 10px; padding: 15px; background: var(--body-bg);
    border: 1px solid var(--sec-bg); border-top: 1px solid var(--link);
    border-radius: 10px; position: relative;
}
.code-box { border-top-color: var(--underline); }
.quote-box::after {
    content:  var(--icon-bird); font-family: var(--fa6);  font-weight: 300; 
    position: absolute; top: -14px; right: 5px;
    font-size: 14px; color: var(--link);
    line-height: 1; pointer-events: none;
}
.quote-box cite {
    display: block; padding-bottom: 7px;
    font-family: var(--font-o); font-weight: 600;
    font-size: 11px; text-transform: lowercase; color: var(--textcolor);
    border-bottom: 1px dashed var(--sec-bg);
}
.quote-box blockquote {
    padding: 10px 0 0 0; font-family: var(--font-o); color: var(--textcolor);
}
.code-box strong.legend {
    display: block; padding-bottom: 5px;
    font-family: var(--font-o); font-weight: bold; font-size: 11px;
    color: var(--link);
}

/* Оформление спойлера */
.punbb .post-content .spoiler-box > div {
    display: flex; align-items: center; padding-left: 0;
    font-family: var(--font-o); font-weight: bold; 
    color: var(--textcolor);cursor: pointer; 
    background: none !important;
}

.punbb .post-content .spoiler-box > div:before {
    content: var(--icon-spoiler); font-family: var(--fa6);
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; margin-right: 12px; opacity: 0.9; 
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform-origin: center center;
    flex-shrink: 0;               
}

.punbb .post-content .spoiler-box > div.visible:before {
    transform: rotate(180deg);
}

.punbb .post-content .spoiler-box > div.visible { 
    background: none !important; 
}


/* Подпись к посту */
.post-sig dt { border-bottom: 0.7px solid var(--textcolor); width: 300px; margin: 10px auto; }

/* Форма ответа */
#main-reply { box-sizing: border-box; }
#tags { position: relative; }
#tags .container { padding: var(--pad3) !important; top: 0 !important; }


/*
========================================================================================
    ПРОФИЛЬ И ЛИЧНЫЕ СООБЩЕНИЯ
========================================================================================
*/

#profile { padding: var(--pad1); }
#viewprofile tr { display: flex; gap: 40px; font-family: var(--font-o); }
#profile .container { padding-left: 200px; min-height: 100px; }
#profilenav { float: left; margin-left: -180px; }
#viewprofile h2, #profilenav h2 {
    text-align: center; font-family: var(--font-o); font-weight: 500;
    font-size: 12px; margin-bottom: 10px; background: var(--body-bg);
    color: var(--black); padding: 2px 3px; border-radius: 10px;
}
#profilenav li { padding: 0 0 5px; }
#viewprofile li { padding: 5px 0; }
#viewprofile td#profile-left {
    display: flex; flex-wrap: wrap; width: auto; flex-direction: column;
    align-items: center; flex-shrink: 0; background: var(--sec-bg);
    padding: 10px 15px; border-radius: 10px; border: 1px solid var(--body-bg);
}
#profile-name { font-size: 15px; font-style: italic; }
#viewprofile td#profile-right {
    display: flex; flex-flow: column; flex-wrap: wrap; box-sizing: border-box;
    gap: 10px; flex-direction: row;
}
#profile-right li {
    display: flex; flex-direction: column; flex-wrap: wrap; flex-grow: 1;
    justify-content: center; gap: 10px; text-align: center;
    background: var(--sec-bg); padding: 0 5px; border-radius: 10px;
    border: 1px solid var(--body-bg);
}
#profile-right li span { flex-shrink: 0; text-align: center; }
#profile-left li strong, #profile-right li strong {
    font-weight: normal !important; padding-left: 0 !important;
}
img.avatardemo { float: right; margin: 0 0 8px 18px; }


/*
========================================================================================
    ПРОЧИЕ СТРАНИЦЫ
========================================================================================
*/

/* Список пользователей */
#pun-userlist .formal, #pun-userlist .formal .container { margin-bottom: 0; }
#pun-userlist .tc2 { text-align: left; width: 20%; }
#pun-userlist .tcl { width: 40%; }
.usertable .container {}

/* Сообщения об ошибках */
.info .container { padding: var(--pad3); }
.info .container .backlink { padding-top: 8px; }

/* Регистрация */
.info-box { margin: 0 0 10px 0; }
.info-box * { padding: 0 0 5px 0; }
.info-box .legend { font-weight: bold; }
.jGrowl-notification .jGrowl-close { position: relative; right: 6px; }


/*
-------------------------------------------------------------
    БЫСТРЫЕ ПЛЮСЫ (QUICK RATINGS)
-------------------------------------------------------------
*/

.noNull:before {
    content: "+"; font-size: 9px; display: inline-block;
    margin-left: -6px; margin-top: 0; position: absolute;
}
div .post-rating p > a {
    text-align: center; outline: 1px solid transparent; font-weight: 700;
    background: var(--rating-bg) no-repeat center; background-size: 38px auto;
    position: relative; padding-left: 1px; z-index: 100;
    width: 38px; height: 38px; font-size: 10px !important;
    display: inline-block; vertical-align: middle; line-height: 36px;
    letter-spacing: 2px; color: var(--link);
}
div.post-vote {}
div.post-vote p > a {
    font-size: 0 !important; position: absolute; cursor: pointer;
    z-index: 200; width: 23px; height: 23px;
    background: var(--vote-bg) no-repeat; display: block;
    background-size: 100%;
}
.punbb div.post-vote p { padding: var(--pad1) !important; margin: 0 !important; }
.isonline {background-color: var(--link-hover) !important; 
width: 4px !important;
    height: 4px !important;
margin-top: 4px !important;
}

/*
========================================================================================
    ЛИЧНАЯ СТРАНИЦА
========================================================================================
*/
#profile-right li, #viewprofile td#profile-left {
background: linear-gradient(0deg, rgba(255,255,255,0.1) 0%, var(--body-bg) 50%) !important;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 8px;
}

/* убираем всякий мусор из профиля */
.profile-gifts, #profile-gifts, .pa-gifts, #pa-gifts, #pun-status .status-right,
.pa-invites, .pa-reg, .pa-time-visit, .pa-ip
 { display: none !important; }

/* ерунда в загрузках */
#filetable {
    margin-bottom: 15px;
    border-collapse: separate;
    border-spacing: 0 10px; /* расстояние между строками */
}

/* шапка */
#filetable thead tr {
    background: var(--body-bg);
}

#filetable thead th {
    padding: 12px 14px;
}

/* строки */
#filetable tbody tr {
    background: var(--body-bg);
    transition: .2s ease;
}

#filetable tbody tr:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

/* ячейки */
#filetable tbody td,
#filetable thead th {
    padding: 12px 14px;
    vertical-align: middle;
}

/* скругления строк */
#filetable thead th:first-child,
#filetable tbody td:first-child {
    border-radius: 14px 0 0 14px;
}

#filetable thead th:last-child,
#filetable tbody td:last-child {
    border-radius: 0 14px 14px 0;
}

/* лёгкая тень */
#filetable tbody tr,
#filetable thead tr {
    box-shadow: 0 2px 10px rgb(0 0 0 / 0.04);
}

/* инпуты комментариев */
#filetable input[type="text"] {
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 6px 10px;
    transition: .2s ease;
}

#filetable input[type="text"]:focus {
    border-color: var(--accent);
    outline: none;
}

/* фикс репутации и popup */
.post_reputation,
#Reputation,
.reputation,
.pun-modal,
.modal-window {
    position: relative;
    z-index: 99999 !important;
}

