/*
 * Стиль для форума DREAM ONLINE в стиле Minecraft
 * Структура CSS, основанная на предоставленном примере
 */

/*************************************************************
 A - НАСТРОЙКА (SETUP)
**************************************************************/

/* A1 Импорт цветовой схемы */
/*
 * Подключаем файл с цветовой схемой, чтобы сохранить консистентность.
 * В данном случае, предполагается, что style_cs.1783262519.css определяет CSS переменные.
 */
@import url(style_cs.1783262519.css);

/* A2 Обработка стандартных браузерных стилей и ошибок */
/*
 * Сброс margin и padding для html и body, чтобы избежать проблем с отступами.
 */
html, body {
  margin: 0;
  padding: 0;
}

/*
 * Сброс margin для всех элементов внутри .punbb.
 * Это помогает избежать неожиданных отступов.
 */
.punbb * {
  margin: 0;
}

/*
 * Удаление стандартных стилей списков (ul, dl) и сброс padding/list-style.
 */
.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
  padding: 0;
  list-style: none;
}

/*
 * Удаление рамки у изображений, чтобы избежать стандартной рамки в некоторых браузерах.
 */
.punbb img {
  border: none;
}

/*
 * Установка фиксированной ширины для таблиц в основном контенте.
 */
.punbb .main table {
  table-layout: fixed;
  width: 100%;
}

/*
 * Настройка margin для чекбоксов и радиокнопок.
 */
.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;
}

/* A3 Настройка текста */
/*
 * Базовый размер шрифта для body.
 */
body {
  font-size: 100.01%;
}

/*
 * Основной шрифт и размер для всего форума.
 * Используем шрифт, напоминающий Minecraft.
 */
.punbb {
  font: normal 68.75% 'Minecraftia', arial, sans-serif; /* Замените 'Minecraftia' на реальное название шрифта */
}

/*
 * Шрифт для полей ввода, кнопок и выпадающих списков.
 */
.punbb textarea, .punbb input, .punbb select, .punbb optgroup {
  font: 1em 'Minecraftia', arial, sans-serif; /* Замените 'Minecraftia' */
}

/*
 * Основные стили для заголовков и таблиц.
 */
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th {
  font-size: 1em;
  font-weight: normal;
}

/*
 * Увеличение размера шрифта для заголовков внутри span.
 */
.punbb h1 span, .punbb h2 span, .punbb legend span {
  font-size: 1.1em;
}

/*
 * Шрифт для блоков кода.
 */
.punbb pre {
  font: 1.1em/140% 'MinecraftMono', 'Courier New', monospace; /* Замените 'MinecraftMono' */
}

/*
 * Базовые стили для em и address.
 */
.punbb address, .punbb em {
  font-style: normal;
}

/*
 * Курсивные стили для em внутри post-content.
 */
.punbb .post-content em {
  font-style: italic;
}

/*
 * Специфический стиль для подчеркнутого em.
 */
.punbb .post-content em.bbuline {
  font-style: normal;
  text-decoration: underline;
}

/*
 * Стандартное подчеркивание для ссылок.
 */
.punbb a {
  text-decoration: underline;
}

/*
 * Жирный шрифт для optgroup.
 */
.punbb optgroup {
  font-weight: bold;
}

/* A4 Очистка float и скрытые элементы */
/*
 * Универсальный clearfix для удаления float.
 */
#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.0;
  font-size: 0;
}

/*
 * Скрытие элементов, которые не должны отображаться (используется для доступа к ним через CSS).
 */
.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 {
  font-size: 0;
  height: 0;
  width: 0;
  line-height: 0.0;
  position: absolute;
  left: -9999px;
  overflow: hidden;
}

/* A5 Основная разметка страницы и рамки */
/*
 * Основной отступ для всего форума.
 */
#pun {
  margin: 30px;
  position: relative;
}

/*
 * Основной контейнер форума.
 */
.punbb {
  float: left;
  width: 100%;
  height: auto;
}

/*
 * Стили для страниц перенаправления или технического обслуживания.
 */
#pun-redirect, #pun-maint {
  margin: 50px 20% 12px 20%;
  width: auto;
  float: none;
}

/*
 * Общий отступ под секциями.
 */
.punbb .section, .punbb .main {
  margin-bottom: 1em;
}

/*
 * Отступы для категорий и постов.
 */
.punbb .category, .punbb .post {
  margin-top: 0.4em;
}

/*
 * Верхний отступ для первого поста или категории.
 */
.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
}

/*
 * Верхний отступ для темы поста.
 */
#pun-post .topic {
  margin-top: 1em;
}

/*
 * Основные стили границ для секций, форумов, постов.
 * Напоминает "вырезанные" блоки Minecraft.
 */
.punbb .section,
.punbb .forum,
.punbb .formal,
.punbb .modmenu,
.punbb .info,
.punbb .category,
.punbb .post {
  border-style: none none solid none;
  border-width: 0px 0px 2px 0px;
}

/*
 * Рамка для контейнеров.
 */
.punbb .container {
  border-style: solid;
  border-width: 1px;
}

/*
 * Рамка и отступы для заголовков секций.
 */
.punbb .section h2,
#pun-main h1,
#pun-main h2,
#pun-stats h2,
#pun-debug h2 {
  padding: 0.5em 1em;
  border-style: none solid solid none;
  border-width: 0 1px 1px 0;
}

/*************************************************************
 B - ОСНОВНОЕ СОДЕРЖИМОЕ - ОБЩЕЕ (MAIN CONTENT - GENERAL)
**************************************************************/

/* B1 Разобранное содержимое, подписи и прокручиваемые блоки */
/*
 * Основные стили для содержимого поста.
 */
.punbb .post-content {
  padding: 0;
  margin: 0;
  width: 100%;
  overflow: hidden;
}

/*
 * Стиль для разделителя подписи.
 */
.punbb .post-sig dt {
  display: block;
  border-top: 1px solid #888; /* Используйте переменную для цвета */
  width: 250px;
  margin: 5px 0;
}

/*
 * Отступы для параграфов в контенте.
 */
.punbb .post-content p {
  margin: 0;
  padding: 0 0 1em 0;
  line-height: 150%;
}

/*
 * Выравнивание изображений в тексте.
 */
.punbb .post-content img {
  vertical-align: text-bottom;
}

/*
 * Выравнивание изображений с классом postimg.
 */
.punbb .post-content img.postimg {
  vertical-align: middle;
}

/*
 * Стили для блоков кода и цитат.
 */
.punbb .post-content .blockcode,
.punbb .post-content blockquote {
  width: 100%;
  overflow: hidden;
}

/*
 * Стили для блоков с прокруткой.
 */
.punbb .post-content .scrollbox {
  width: 100%;
  overflow: auto;
}

/*
 * Рамки и отступы для цитат и блоков кода.
 */
.punbb .post-content .quote-box,
.punbb .post-content .code-box {
  margin: 0.4em 1.8em 1.4em 1.8em;
  padding: 1em;
  border-style: solid;
  border-width: 1px;
}

/*
 * Заголовок для цитат и блоков кода.
 */
.punbb .quote-box cite,
.punbb .code-box strong.legend {
  display: block;
  padding-bottom: 0.7em;
  font-size: 1.1em;
  font-weight: bold;
  font-style: normal;
  margin: 0;
}

/* B2 Информационные блоки */
/*
 * Общие стили для информационных блоков.
 */
.punbb .info-box {
  padding: 1.1em 1.7em 1em 1.7em;
  border-style: solid;
  border-width: 1px;
  margin: 0 0 1.1em 0;
}

/*
 * Отступы внутри информационного блока.
 */
.punbb .info-box * {
  padding: 0 0 0.7em 0;
}

/*
 * Заголовок информационного блока.
 */
.punbb #pun-main .info-box .legend {
  font-size: 1.1em;
  font-weight: bold;
}

/* B3 Пагинация и ссылки для постинга */
/*
 * Контейнер для ссылок пагинации и постинга.
 */
.punbb .linkst {
  float: left;
  position: relative;
  width: 100%;
  font-size: 1.1em;
  height: 0;
}

/*
 * Стили для пагинации.
 */
.multipage {
  margin-top: 3em;
}

/*
 * Позиционирование ссылок пагинации.
 */
.linkst .pagelink {
  position: absolute;
  top: -4em;
  left: 1em;
  width: 24em;
}

/*
 * Позиционирование кнопки "создать тему".
 */
.linkst .postlink {
  position: absolute;
  top: -4em;
  right: 1em;
  width: 16em;
  text-align: right;
  font-weight: bold;
}

/*
 * Контейнер для ссылок постинга внизу страницы.
 */
.punbb .linksb {
  text-align: right;
  padding: 0.4em 1em 0.5em 1em;
  font-size: 1.1em;
}

/*
 * Расположение пагинации слева внизу.
 */
.linksb .pagelink {
  float: left;
  width: 24em;
  text-align: left;
}

/*
 * Расположение кнопки "создать тему" справа внизу.
 */
.linksb .postlink {
  float: right;
  width: 16em;
  font-weight: bold;
}

/*
 * Отступы для ссылки подписки.
 */
.subscribelink {
  clear: both;
  padding-top: 0.3em;
  padding-bottom: 0.5em;
}

/*************************************************************
 C - ОСНОВНОЕ СОДЕРЖИМОЕ - СПЕЦИФИЧЕСКОЕ (MAIN CONTENT - SPECIFIC)
**************************************************************/

/* C1 Макет формы */
/*
 * Отступы для формы.
 */
.punbb .formal .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/*
 * Разделитель для кнопки отправки формы.
 */
.punbb .formsubmit {
  padding: 0 0 0 1.7em;
  margin: 1em 0 0 0;
}

/*
 * Отступы для элементов кнопки отправки.
 */
.punbb .formsubmit input,
.punbb .formsubmit a,
.punbb .formsubmit span {
  margin: 0 0.6em 0 0;
}

/*
 * Рамки и отступы для полей формы.
 */
.punbb fieldset {
  border-style: solid;
  border-width: 1px;
  padding: 0 18px 0 18px;
  margin: 0 0 1em 0;
}

/*
 * Заголовок поля формы.
 */
.punbb fieldset legend {
  padding: 0;
  margin: 0 0 0 11px;
  font-size: 1.1em;
}

/*
 * Заголовок внутри span.
 */
.punbb fieldset legend span {
  padding: 0 5px;
  margin: 0 0 0 -15px;
}

/*
 * Сброс стилей для вложенных fieldset.
 */
.punbb fieldset fieldset {
  border-style: none;
  margin: 0;
  padding: 0 0 8px 0;
}

/*
 * Отступы для внутренних блоков полей.
 */
.punbb .fs-box {
  padding: 1em 0 0.8em 0;
}

/*
 * Отступы для параграфов и полей внутри fs-box.
 */
.punbb .fs-box p,
.punbb .fs-box fieldset {
  padding: 0 0 0.8em 0;
}

/*
 * float для полей ввода и выбора.
 */
.punbb .inline .inputfield,
.punbb .inline .selectfield,
.punbb .inline .passfield {
  float: left;
  margin-right: 1em;
}

/*
 * Очистка float для информационных полей.
 */
.punbb .inline .infofield {
  clear: both;
}

/*
 * Скрытие br для лучшего расположения в datafield.
 */
.punbb .datafield br {
  display: none;
}

/*
 * Жирный шрифт для обязательных полей.
 */
.punbb .required label,
.punbb .datafield span.input {
  font-weight: bold;
}

/*
 * Нормальный шрифт для ссылок в datafield.
 */
.punbb .datafield span.input a {
  font-weight: normal;
}

/*
 * Блочное отображение для textarea и input.
 */
.punbb .areafield span.input,
.punbb p.longinput span.input {
  display: block;
  padding: 0 12em 0 0;
  height: 100%; /* Для IE */
}

/*
 * Ширина textarea и input.
 */
.punbb textarea,
.punbb .longinput input {
  width: 64%;
  margin: 0;
}

/*
 * Позиционирование для блоков с подсказками.
 */
.punbb .hashelp {
  position: relative;
}

/*
 * Расположение ссылок подсказок.
 */
.punbb .helplinks {
  display: block;
  position: absolute;
  top: 1em;
  right: 0;
  font-weight: normal;
  width: 36%;
}

/*
 * Коррекция для профиля.
 */
#pun-post .formal .helplinks {
  top: 1.5em;
}

/*
 * Блочное отображение для span подсказок.
 */
.punbb .helplinks span {
  display: block;
  padding-bottom: 0.2em;
}

/*
 * Стили для списка в информационном блоке формы posting.
 */
.punbb #pun-post .formal .info-box li {
  padding-left: 4px;
  list-style-type: square;
  list-style-position: inside;
  line-height: 1.5;
  margin: 0;
}

/* C2 Макет таблицы */
/*
 * Ширина колонок таблицы.
 */
.punbb .main .tcl {
  overflow: hidden;
  text-align: left;
  width: 50%;
}

.punbb .main .tc2,
.punbb .main .tc3,
.punbb .main .tcmod {
  text-align: center;
  width: 10%;
}

.punbb .main .tcr {
  overflow: hidden;
  text-align: left;
  width: 30%;
}

/*
 * Коррекция ширины колонок для разных страниц.
 */
#pun-userlist .main .tcl,
#pun-searchtopics .main .tcl,
#pun-modviewforum .main .tcl {
  width: 40%;
}

#pun-userlist .main .tc2,
#pun-searchtopics .main .tc2 {
  text-align: left;
  width: 20%;
}

/*
 * Коррекция для таблицы отладки.
 */
#pun-debug table .tcl {
  width: 15%;
  white-space: normal;
}

#pun-debug .tcr {
  width: 90%;
  white-space: normal;
}

/*
 * Размер шрифта для заголовков разделов на главной.
 */
#pun-index .tcl h3 {
  font-size: 1.2em;
  font-weight: bold;
}

/*
 * Стили для индикатора "вы здесь posted".
 */
.punbb td span.youposted {
  font-weight: bold;
  margin-left: -1em;
  position: absolute;
}

/*
 * Стиль для ссылок модерации.
 */
.punbb td .modlist {
  display: block;
  padding-top: 0.3em;
}

/*
 * Рамки ячеек таблицы.
 */
.punbb .main td {
  border-style: solid none none solid;
  border-width: 1px 0 0 1px;
  padding: 0.8em 1em;
}

/*
 * Рамки заголовков таблицы.
 */
.punbb .main th {
  border-style: solid none solid none;
  border-width: 1px 0 1px 0;
  padding: 0.8em 1em;
}

/*
 * Убираем рамки слева и сверху у первой строки/колонки.
 */
.punbb .main tr:first-child td,
.punbb .main tr:first-child th {
  border-top-width: 0;
}

.punbb .main td:first-child,
.punbb .main th:first-child {
  border-left-width: 0;
}

/*
 * Стили для заголовков таблицы.
 */
.punbb .main th {
  text-align: left;
  font-weight: bold;
}

/*
 * Стиль для заголовков секций.
 */
.punbb .sectitle {
  padding: 0.5em 1em;
  font-weight: bold;
  border-style: none solid solid none;
  border-width: 0 1px 1px 0;
}