/*************************************************************
A - SETUP
**************************************************************/

/* A0 Fonts + design tokens — строгий белый + синие свечения
-------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* NOTE ON EMOJI: this forum stores templates as cp1251 text and
   silently mangles raw UTF-8 emoji glyphs into visible "&#12345;"
   text. To survive that, every icon below is written as a CSS
   unicode escape (backslash + hex code point, e.g. "\1F3E0") which
   is plain ASCII and passes through untouched, then rendered by
   the browser as the real character. Do not paste literal emoji
   characters into this file when editing on mybb.ru's site editor. */

:root {
  /* palette — как на референсе: светлый серо-голубой фон + тёмная навигация */
  --page-bg-top:   #eef2f8;
  --page-bg-bot:   #dfe6f0;
  --glow-1:        rgba(45, 95, 154, 0.30);
  --glow-2:        rgba(70, 130, 200, 0.24);
  --glow-3:        rgba(28, 58, 99, 0.22);
  --card:          #ffffff;
  --card-soft:     #f5f8fc;
  --line:          #d3ddea;
  --line-strong:   #a9bbd6;
  --ink:           #1f2a3c;
  --ink-soft:      #5b6b82;
  --navy-deep:     #142642;
  --navy:          #1c3a63;
  --navbar-dark:   #0d1b30;
  --navbar-darker: #081420;
  --blue:          #2d5f9a;
  --blue-light:    #eaf1fa;
  --accent:        #2d5f9a;
  /* строго: прямые углы, как на референсе */
  --radius-md:     0px;
  --radius-sm:     0px;
  --shadow-soft:   0 1px 3px rgba(20, 38, 66, 0.07);
  --shadow-lift:   0 2px 8px rgba(20, 38, 66, 0.12);
  }

/* A1 Import the colour scheme
-------------------------------------------------------------*/

/* A1.1 */
  @import url(style_cs.1787338593.css);

/* A2 Deal with browser defaults and wonkiness
-------------------------------------------------------------*/

/* A2.1 */
html, body {margin: 0; padding: 0}

/* A2.1b Backdrop — чистый белый с лёгкими синими свечениями */
html {
  background:
    radial-gradient(46% 32% at 12% -4%,  var(--glow-1), transparent 62%),
    radial-gradient(40% 30% at 102% 6%,  var(--glow-2), transparent 60%),
    radial-gradient(38% 26% at 50% 108%, var(--glow-3), transparent 60%),
    var(--page-bg);
  background-attachment: fixed;
  min-height: 100%;
  }

body {
  font-family: 'Inter', verdana, arial, helvetica, sans-serif;
  }

/* A2.2 */
.punbb * {
  margin: 0
  }

/* A2.2b Убраны длинные переходы — более резко/строго */
.punbb *, .punbb *::before, .punbb *::after {
  box-sizing: border-box;
  }

.punbb a, .punbb input, .punbb select, .punbb textarea,
.punbb .category, .punbb .forum, .punbb .post, .punbb .info-box,
.punbb tbody tr, .punbb .container, .punbb fieldset {
  transition: background-color 0.1s ease, border-color 0.1s ease;
  }

/* A2.3 */
.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
  padding: 0;
  list-style: none;
  }

/* A2.4 */
.punbb img {
  border:none
  }

/* A2.4b Круглые аватары с тонкой синей рамкой */
.punbb img.avatarimage, .punbb img.avatardemo {
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--line), 0 0 0 3px var(--card);
  }

/* A2.5 */
.punbb .main table {
  table-layout: fixed;
  width: 100%;
  }

/* A2.6 */
.checkfield input[type="checkbox"], .radiofield input[type="radio"] {margin: 0 0.3em;}

/* A2.7 */
p[class="checkfield"] *,
div[class="checkfield"] *,
fieldset[class="radiofield"] * {
  height: 1.8em;
  vertical-align: middle
  }


 /* A3 Text setup
-------------------------------------------------------------*/

/* A3.1 */
body {
  font-size: 100.01%;
  }

/* A3.2 */
.punbb {
  font: normal 68.75% verdana, arial, helvetica, sans-serif;
  }

/* 3.3 */
.punbb textarea, .punbb input, .punbb select, .punbb optgroup {
  font: 1em verdana, arial, helvetica, sans-serif
  }

/* A3.4 */
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th {
  font-size: 1em;
  font-weight: normal;
  }

/* A3.4b Заголовки: строже, без лишних засечек */
.punbb h1, .punbb h2, .punbb h3 {
  font-family: 'Inter', verdana, arial, sans-serif;
  font-weight: 600;
  letter-spacing: 0.1px;
  }

/* A3.5 */
.punbb h1 span, .punbb h2 span, .punbb legend span {
  font-size: 1.1em;
  }

/* A3.6 */
.punbb pre {
  font: 1.1em/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace
  }

/* A3.7 */
.punbb address, .punbb em {
  font-style: normal
  }

/* A3.8 */
.punbb .post-content em {
  font-style: italic
  }

/* A3.9 */
.punbb .post-content em.bbuline {
  font-style: normal;
  text-decoration: underline;
  }

/* A3.10 */
.punbb a {
  text-decoration: underline
  }

/* A3.10b Строгий синий цвет ссылок, без подложек */
.punbb a {
  color: var(--blue);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  }

.punbb a:hover {
  color: var(--navy-deep);
  border-bottom-color: var(--navy-deep);
  }

/* A3.11 */
.punbb optgroup {
  font-weight: bold;
  }


/* A4 Float clearing and hidden items
-------------------------------------------------------------*/

/* A4.1 */
#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;
  }

/* A4.2 */
.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 Basic page layout and borders
-------------------------------------------------------------*/

/* A5.1 */
#pun {
  margin: 30px auto;
  max-width: 1160px;
  position: relative;
  }

/* A5.1b */
#pun {
  padding-bottom: 4px;
  }

/* A5.2 */
.punbb {
  float: left;
  width: 100%;
  height: auto;
  }

/* A5.3 */
#pun-redirect, #pun-maint {
  margin: 50px 20% 12px 20%;
  width: auto;
  float: none;
  }

/* A5.4 */
.punbb .section, .punbb .main {
  margin-bottom: 1.4em;
  }

/* A5.5 */
.punbb .category, .punbb .post {
  margin-top: 0.4em;
  }

/* A5.6 */
.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
  }

/* 5.7 */
#pun-post .topic {
  margin-top: 1em;
  }

/* A5.8 */
.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
  }

/* A5.9 */
.punbb .container {
  border-style: solid;
  border-width: 1px;
  }

/* A5.9b Карточки: почти прямые углы, лёгкая тень (строгий стиль) */
.punbb .section .container,
.punbb .category .container,
.punbb .post .container,
.punbb .formal .container,
.punbb .info .container,
.punbb .info-box {
  border-color: var(--line) !important;
  background-color: var(--card);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  }

/* A5.10 */
.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;
  }

/* A5.10b Заголовки секций: плоская тёмно-синяя полоса, без скруглений */
.punbb .section h2, #pun-main h1, #pun-main h2, #pun-stats h2, #pun-debug h2 {
  background: var(--navy);
  color: #fff;
  border: none !important;
  border-radius: 0;
  }

.punbb .section h2 span, #pun-main h1 span, #pun-main h2 span {
  color: #fff;
  }


/*************************************************************
B - MAIN CONTENT - GENERAL
**************************************************************/

/* B1 Parsed Content, Signatures and Scroll Boxes
-------------------------------------------------------------*/

/* B1.1 */
.punbb .post-content {
  padding: 0;
  margin: 0;
  width: 100%;
  overflow: hidden;
  }

/* B1.2 */
.punbb .post-sig dt {
  display: block;
  border-top: 1px solid #888;
  width: 250px;
  margin: 5px 0;
  }

/* B1.3 */
.punbb .post-content p {
  margin: 0;
  padding: 0 0 1em 0;
  line-height: 150%;
  }

/* B1.4 */
.punbb .post-content img {
  vertical-align: text-bottom
  }

/* B1.5 */
.punbb .post-content img.postimg {
  vertical-align: middle;
  border-radius: var(--radius-sm);
  box-shadow: 0 0 0 1px var(--line);
  }

/* B1.6 */
.punbb .post-content .blockcode, .punbb .post-content blockquote {
  width: 100%;
  overflow: hidden;
  }

/* B1.7 */
.punbb .post-content .scrollbox {
  width: 100%;
  overflow: auto;
  }

/* B1.7b Тонкий скроллбар */
.punbb .post-content .scrollbox::-webkit-scrollbar { height: 7px; width: 7px; }
.punbb .post-content .scrollbox::-webkit-scrollbar-track { background: var(--card-soft); }
.punbb .post-content .scrollbox::-webkit-scrollbar-thumb { background: var(--blue); border-radius: 4px; }

/* B1.8 */
.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;
  }

/* B1.8b Цитаты / код: плоская полоса слева, без скруглений */
.punbb .post-content .quote-box {
  border: none;
  border-left: 3px solid var(--blue);
  background: var(--card-soft);
  border-radius: 0;
  }

.punbb .post-content .code-box {
  border: none;
  border-left: 3px solid var(--navy);
  background: #f2f5f9;
  border-radius: 0;
  }

/* B1.9 */
.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;
  }

.punbb .quote-box cite::before { content: "\1F4AC  "; }
.punbb .code-box strong.legend::before { content: "\1F4BB  "; }

/* B2 Information boxes
-------------------------------------------------------------*/

/* B2.1 */
.punbb .info-box {
  padding: 1.1em 1.7em 1em 1.7em;
  border-style: solid;
  border-width: 1px;
  margin: 0 0 1.1em 0;
  }

/* B2.2 */
.punbb .info-box * {
  padding: 0 0 0.7em 0;
  }

/* B2.3 */
.punbb #pun-main .info-box .legend {
  font-size: 1.1em;
  font-weight: bold;
  color: var(--navy);
  }

/* B3 Pagination and posting links
-------------------------------------------------------------*/

/* B3.1 */
.punbb .linkst {
  float: left;
  position: relative;
  width: 100%;
  font-size: 1.1em;
  height: 0;
  }

/* B3.2 */
.multipage {
  margin-top: 3em;
  }

/* B3.3 */
.linkst .pagelink {
  position: absolute;
  top: -4em;
  left: 1em;
  width: 24em;
  }

/* B3.4 */
.linkst .postlink {
  position: absolute;
  top: -4em;
  right: 1em;
  width: 16em;
  text-align: right;
  font-weight: bold;
  }

/* B3.4b Кнопка "новая тема / ответить": плоская, прямоугольная, тёмно-синяя */
.linkst .postlink a, .linksb .postlink a {
  display: inline-block;
  padding: 0.4em 1em;
  background: var(--navy);
  color: #fff !important;
  border-radius: var(--radius-sm);
  text-decoration: none !important;
  border-bottom: none !important;
  }

.linkst .postlink a:hover, .linksb .postlink a:hover {
  background: var(--navy-deep);
  }

.linkst .postlink a::before, .linksb .postlink a::before { content: "\270E  "; }

/* B3.5 */
.punbb .linksb {
  text-align: right;
  padding: 0.4em 1em 0.5em 1em;
  font-size: 1.1em;
  }

/* B3.6 */
.linksb .pagelink {
  float: left;
  width: 24em;
  text-align: left;
  }

/* B3.7 */
.linksb .postlink {
  float: right;
  width: 16em;
  font-weight: bold
  }

/* B3.8 */
.subscribelink {
  clear:both;
  padding-top: 0.3em;
  padding-bottom: 0.5em;
  }


/*************************************************************
C - MAIN CONTENT - SPECIFIC
**************************************************************/

/* C1 Form layout
-------------------------------------------------------------*/

/* C1.1 */
.punbb .formal .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
  }

/* C1.2 */
.punbb .formsubmit {
  padding: 0 0 0 1.7em;
  margin: 1em 0 0 0;
  }

/* C1.3 */
.punbb .formsubmit input, .punbb .formsubmit a, .punbb .formsubmit span {
  margin: 0 0.6em 0 0
  }

/* C1.4 */
.punbb fieldset {
  border-style: solid;
  border-width: 1px;
  padding: 0 18px 0 18px;
  margin: 0 0 1em 0
  }

/* C1.4b Строгие fieldset без скруглений */
.punbb fieldset {
  border-color: var(--line) !important;
  border-radius: var(--radius-sm);
  background: var(--card-soft);
  }

/* C1.5 */
.punbb fieldset legend {
  padding: 0;
  margin: 0 0 0 11px;
  font-size: 1.1em
  }

/* C1.6 */
.punbb fieldset legend span {
  padding: 0 5px;
  margin: 0 0 0 -15px;
  background: var(--card);
  color: var(--navy);
  }

/* C1.7 */
.punbb fieldset fieldset {
  border-style: none;
  margin: 0;
  padding: 0 0 8px 0
  }

/* C1.8 */
.punbb .fs-box {
  padding: 1em 0 0.8em 0;
  }

/* C1.9 */
.punbb .fs-box p, .punbb .fs-box fieldset {
  padding: 0 0 0.8em 0
  }

/* C1.10 */
.punbb .inline .inputfield, .punbb .inline .selectfield, .punbb .inline .passfield {
  float: left;
  margin-right: 1em;
  }

/* C1.11 */
.punbb .inline .infofield {
  clear:both
  }

/* C1.12 */
.punbb .datafield br {
  display: none
  }

/* C1.13 */
.punbb .required label, .punbb .datafield span.input {
  font-weight: bold
  }

/* C1.14 */
.punbb .datafield span.input a {
  font-weight: normal;
  }

/* C1.15 */
.punbb .areafield span.input, .punbb p.longinput span.input {
  display: block;
  padding: 0 12em 0 0;
  height: 100%; /* For IE */
  }

/* C1.16 */
.punbb textarea, .punbb .longinput input {
  width: 64%;
  margin: 0;
  }

/* C1.16b Строгие плоские поля форм */
.punbb textarea, .punbb input[type="text"], .punbb input[type="password"],
.punbb input[type="email"], .punbb select {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  padding: 0.35em 0.6em;
  background: #fff;
  }

.punbb textarea:focus, .punbb input[type="text"]:focus,
.punbb input[type="password"]:focus, .punbb input[type="email"]:focus,
.punbb select:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 2px var(--blue-light);
  }

.punbb input[type="submit"], .punbb input[type="button"], .punbb button {
  border: 1px solid var(--navy);
  border-radius: var(--radius-sm);
  padding: 0.5em 1.3em;
  background: var(--navy);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  }

.punbb input[type="submit"]:hover, .punbb input[type="button"]:hover, .punbb button:hover {
  background: var(--navy-deep);
  }

/* C1.17 */
.punbb .hashelp {
  position: relative;
  }

/* C1.18 */
.punbb .helplinks {
  display: block;
  position: absolute;
  top: 1em;
  right: 0;
  font-weight: normal;
  width: 36%;
  }

/* c1.19 */
.punbb #profile .helplinks {
  top: 1.5em;
  }

/* C1.20 */
.punbb .helplinks span {
  display: block;
  padding-bottom: 0.2em;
  }

/* C1.21 */
#pun-post .formal .info-box li {
  padding-left: 4px;
  list-style-type: square;
  list-style-position: inside;
  line-height: 1.5;
  margin: 0;
  }


/* C2 Table layout
-------------------------------------------------------------*/

/* C2.1 */
.punbb .main .tcl {
  overflow: hidden;
  text-align: left;
  width: 50%;
  }

/* C2.2 */
.punbb .main .tc2, .punbb .main .tc3, .punbb .main .tcmod {
  text-align: center;
  width: 10%;
  }

/* C2.3 */
.punbb .main .tcr {
  overflow: hidden;
  text-align: left;
  width: 30%;
  }

/* C2.4 */
#pun-userlist .main .tcl,
#pun-searchtopics .main .tcl,
#pun-modviewforum .main .tcl {
  width: 40%
  }

/* C2.5 */
#pun-userlist .main .tc2,
#pun-searchtopics .main .tc2 {
  text-align: left;
  width: 20%;
  }

/* C2.6 */
#pun-debug table .tcl {
  width: 15%;
  white-space:normal;
  }

/* C2.7 */
#pun-debug .tcr {
  width: 90%;
  white-space: normal;
  }

/* C2.8 */
#pun-index .tcl h3 {
  font-size: 1.2em;
  font-weight: bold;
  }

#pun-index .tcl h3 a::before { content: "\1F4C1  "; }

/* C2.9 */
.punbb td span.youposted {
  font-weight: bold;
  margin-left: -1em;
  position: absolute;
  color: var(--navy);
  }

/* C2.10 */
.punbb td .modlist {
  display: block;
  padding-top: 0.3em
  }

/* C2.11 */
.punbb .main td {
  border-style: solid none none solid;
  border-width: 1px 0 0 1px;
  padding: 0.8em 1em;
  }

/* C2.11b Подсветка строки при наведении */
.punbb .main tbody tr:hover td {
  background: var(--blue-light);
  }

/* C2.12 */
.punbb .main th {
  border-style: none none none solid;
  border-width: 0 0 0 1px;
  padding: 0.4em 1em 0.4em 1em;
  }

/* C2.12b Заголовки таблиц */
.punbb .main thead th {
  background: var(--card-soft);
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.9em;
  }

/* C2.13 */
.punbb .main .tcl {
  border-left-style: none;
  border-left-width: 0
  }

/* C2.14 */
.punbb tbody.hasicon td.tcl {
  padding-left: 3.2em
  }

/* C2.15 */
.punbb div.icon {
  border-style: solid;
  border-width: 0.6em 0.6em 0.6em 0.6em;
  height: 0;
  line-height: 0.0;
  margin-top: 0.1em;
  width: 0;
  }

/* C2.16 */
.punbb  table div.icon {
  font-size: 1.05em;
  position: absolute;
  margin-left: -2.2em;
  }

 /* C3 Topics
-------------------------------------------------------------*/

/* C3.1 */
.punbb .post .container {
  border-style: none solid solid solid;
  border-width: 1px;
  margin-top: -1px;
  padding-bottom: 1px;
  }

/* C3.2 */
.punbb .post h3 {
  border-style: solid solid none solid;
  border-width: 1px;
  }

/* C3.2b Шапка поста: плоская серо-синяя полоса */
.punbb .post h3 {
  background: var(--card-soft);
  border: none !important;
  border-radius: 0;
  }

/* C3.3 */
.punbb .post h3 span {
  padding: 0.5em 1em;
  display: block;
  margin-left: 19em;
  border-left-style: solid;
  border-left-width: 1px
  }

/* C3.3b */
.punbb .post h3 span { border-left-color: var(--line); }
.punbb .post h3 span a::before { content: "\1F4AC  "; }

/* C3.4 */
.punbb .post h3 strong {
  float: right;
  width: 5em;
  text-align: right;
  font-weight: normal;
  }

/* C3.5 */
.punbb .post .post-author {
  float: left;
  width: 19em;
  margin-top: -1.5em;
  overflow: hidden;
  }

/* C3.6 */
.punbb .post .post-author ul, .punbb .post .post-author p {
  padding: 0 1em 1em 1em;
  line-height: 140%;
  }

/* C3.7 */
.pa-author {
  font-size: 1.1em;
  font-weight: bold;
  }

.pa-author a::before { content: "\1F464  "; }

/* C3.8 */
.pa-author a {
  text-decoration: none
  }

/* C3.9 */
li.pa-title {
  padding-bottom: 0.4em;
  font-weight: bold;
  color: var(--ink-soft);
  }


li.pa-online {
  line-height: 0.8em;
  border-left-style: solid;
  border-left-width: 0.7em;
  border-left-color: var(--blue);
  padding-left: 0.4em;
  margin-top: 0.7em;
  }

li.pa-online::before { content: "\1F7E2  "; }

/* C3.11 */
.punbb .post-body {
  margin-left: 19em;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--line);
  padding: 0 0 1px 0;
  }

/* C3.12 */
.punbb .post-box {
  padding: 1em;
  }

/*C3.13 */
.punbb fieldset .post-box {
  margin-bottom: 0.8em
  }

/* C3.14 */
.punbb .post-links {
  margin-left: 19em;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--line);
  }

/* C3.15 */
.punbb .post-links ul {
  padding: 0 1em 0 0;
  height: 2em;
  line-height: 2em;
  margin-left: -19em;
  border-top-style: dashed;
  border-top-width: 1px;
  border-top-color: var(--line-strong);
  background: transparent;
  text-align: right;
  }

/* C3.16 */
.punbb .post-links li {
  display: inline;
  padding-left: 1em;
  }

/* C3.17 */
.pl-email, .pl-website {
  float: left;
  }

/* C3.18 */
.punbb .clearer {
  clear: both;
  height: 0;
  font-size: 0;
  }


/* C4 Moderator menu
-------------------------------------------------------------*/

/* C4.1 */
.punbb .modmenu .container {
  padding: 0.5em 1em;
  text-align: right;
  }

/* C4.2 */
.punbb .modmenu strong, .punbb .modmenu a {
  height: 1.8em;
  line-height: 1.8em;
  }

/* C4.3 */
.punbb .modmenu .container strong {
  float: left;
  }

.punbb .modmenu .container strong::before { content: "\1F527  "; }

/* C4.4 */
.punbb .modmenu input {
  margin-left: 1em;
  }


/* C5 Message boxes
-------------------------------------------------------------*/

/* C5.1 */
.punbb .info .container {
  padding: 0.8em 1em
  }

/* C5.2 */
.punbb .info .container .backlink {
  padding-top: 0.8em;
  }


/* C6 Profile
-------------------------------------------------------------*/

/* C6.1 */
#profile .container {
  padding-left: 18.6em;
  }

/* C6.2 */
#profilenav {
  float: left;
  width: 14em;
  margin-left: -16.3em;
  display: inline;
  }

/* C6.3 */
#profilenav li {
  padding-bottom: 0.8em;
  font-weight: bold;
  }

/* C6.4 */
#viewprofile ul, #profilenav ul {
  border-style: solid;
  border-width: 1px;
  padding: 1.5em 18px 0.8em 18px;
  margin: 0 0 1em 0;
  }

/* C6.4b */
#viewprofile ul, #profilenav ul {
  border-color: var(--line) !important;
  border-radius: var(--radius-sm);
  background: var(--card);
  box-shadow: var(--shadow-soft);
  }

/* C6.5 */
#viewprofile h2, #profilenav h2 {
  background: transparent;
  border: none;
  padding: 0 0 0 0;
  margin: 0 14px -0.6em 14px;
  }

/* C6.6 */
#viewprofile h2 span, #profilenav h2 span {
  padding: 0 5px;
  position: relative;
  }

/* C6.7 */
#viewprofile li, #setmods dl {
  padding: 0 0 0 16em;
  margin-bottom: 0.2em;
  }

/* C6.8 */
#viewprofile li span {
  float: left;
  width: 14em;
  margin-left: -16em;
  padding: 0.5em 1em;
  font-weight: bold;
  }

/*C6.9 */
#setmods dt {
  float: left;
  width: 14em;
  margin-left: -16em;
  padding: 0.8em 1em;
  font-weight: bold;
  display: inline;
  }

/* C6.10 */
#viewprofile li strong, #viewprofile li div, #setmods dd {
  display: block;
  padding: 0.5em 1em;
  font-weight: normal;
  }

/* C6.11 */
.punbb img.avatardemo {
  float: right;
  margin: 0 0 0.8em 1.8em
  }


/* C7 User list
-------------------------------------------------------------*/

/* C7.1 */
#pun-userlist .formal, #pun-userlist .formal .container {
  border-bottom: none;
  margin-bottom: 0;
  }

/* C7.2 */
#pun-userlist .usertable .container {
  padding: 0 2.3em 2.3em 2.3em;
  border-top: none;
  }

/* C7.3 */
#pun-userlist .usertable table {
  border-style: solid;
  border-width: 1px;
  }


/*************************************************************
D - PUNBB SECTIONS OTHER THAN MAIN CONTENT
**************************************************************/

/* D1 Logo and description
-------------------------------------------------------------*/

/* D1.1 */
#pun-title {
  margin: 0;
  border-style: solid solid none solid;
  border-width: 1px 1px 0 1px;
  }

/* D1.1b Шапка: плоская тёмно-синяя полоса, почти без скруглений */
#pun-title {
  border: none !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: var(--navy-deep);
  box-shadow: var(--shadow-lift);
  overflow: hidden;
  border-bottom: 3px solid var(--blue) !important;
  }

#pun-title .container {
  border: none !important;
  }

/* D1.2 */
#pun-title h1 {
  display : block;
  height : 40px;
  padding: 2em 1em 0 1em;
  }

/* D1.2b */
#pun-title h1, #pun-title h1 a {
  color: #fff !important;
  }

/* title kept plain — no icon, matches the clean look */

/* D1.3 */
#pun-title .container {
  border-style: none solid none solid;
  }

/* D1.4 */
#pun-title h1 span  {
  font-size: 1.9em;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.3px;
  }

#pun-title table {
	border: none;
	height: 40px;
	width: 100%;
}

#pun-title td.title-logo-tdl {
	border: none;
	width: 100%;
}

#pun-title td.title-logo-tdr {
	border: none;
	width: 468px;
}

/* D2 Page navigation
-------------------------------------------------------------*/

/* D2.1 */
#pun-pagelinks {
  position: absolute;
  top: -15px;
  left: 0;
  margin: 0;
  border: none;
  padding: 0;
  width: 100%;
  }

/* D2.2 */
#pun-pagelinks .container {
  background: transparent;
  border: none;
  padding: 0}

/* D2.3 */
#pun-pagelinks .container li {
  display: inline
  }

/* D2.4 */
#pun-pagelinks li a, #pun-pagelinks a:link, #pun-pagelinks a:hover {
  height: 2em;
  line-height: 2em;
  padding: 0;
  font-size: 1.2em;
  margin-left: -9999px;
  display: block;
  float:left;
  width: 100%;
  }

/* D2.5 */
#pun-pagelinks a:active, #pun-pagelinks a:focus {
  position:relative;
  margin: 0;
  }

#pun-pagelinks li a span {
  display:block;
  margin: 0 1em
  }

/* D3 Forum navigation
-------------------------------------------------------------*/

/* D3.1 */
#pun-navlinks, #pun-navlinks .container {
  border-style: none;
  border-width: 0;
  margin: 0;
  }

/* D3.1b Навбар: плоская белая полоса под шапкой */
#pun-navlinks {
  background: var(--card);
  box-shadow: var(--shadow-soft);
  border-bottom: 1px solid var(--line) !important;
  }

/* D3.2 */
#pun-navlinks .container {
  padding: 0.7em 1em;
  }

/* D.3 */
#pun-navlinks li {
  display: inline;
  padding-right: 1em;
  }

/* D3.4 */
#pun-navlinks li a {
  font-size: 1.1em;
  }

/* D3.4b Ссылки навигации: текстовые, без "таблеток" */
#pun-navlinks li a {
  display: inline-block;
  padding: 0.3em 0.6em;
  border-radius: var(--radius-sm);
  color: var(--ink) !important;
  border-bottom: none !important;
  }

#pun-navlinks li a:hover {
  background: var(--blue-light);
  color: var(--navy-deep) !important;
  }

/* Активная вкладка: подчёркивание акцентом */
#pun-navlinks li a.active,
#pun-navlinks li.active a {
  background: var(--blue-light);
  color: var(--navy-deep) !important;
  box-shadow: inset 0 -2px 0 var(--blue);
  }

/* Иконки по известному id (стандартные сборки PunBB/FluxBB) */
#pun-navlinks li#navindex a::before      { content: "\1F3E0  "; }
#pun-navlinks li#navuserlist a::before   { content: "\1F465  "; }
#pun-navlinks li#navsearch a::before     { content: "\1F50D  "; }
#pun-navlinks li#navregister a::before   { content: "\1F4DD  "; }
#pun-navlinks li#navlogin a::before      { content: "\1F511  "; }
#pun-navlinks li#navprofile a::before    { content: "\1F464  "; }
#pun-navlinks li#navlogout a::before     { content: "\1F6AA  "; }
#pun-navlinks li#navadmin a::before      { content: "\2699  "; }
#pun-navlinks li#navprivmsg a::before    { content: "\2709  "; }

/* Резервные иконки по позиции — если сайт не отдаёт id выше
   (Форум / Участники / Поиск / Профиль / Сообщения /
   Администрирование / Выход, слева направо) */
#pun-navlinks li:nth-child(1) a:not([class])::before { content: "\1F3E0  "; }
#pun-navlinks li:nth-child(2) a:not([class])::before { content: "\1F465  "; }
#pun-navlinks li:nth-child(3) a:not([class])::before { content: "\1F50D  "; }
#pun-navlinks li:nth-child(4) a:not([class])::before { content: "\1F464  "; }
#pun-navlinks li:nth-child(5) a:not([class])::before { content: "\2709  "; }
#pun-navlinks li:nth-child(6) a:not([class])::before { content: "\2699  "; }
#pun-navlinks li:nth-child(7) a:not([class])::before { content: "\1F6AA  "; }

/* D4 User links
-------------------------------------------------------------*/

/* D4.1 */
#pun-ulinks  {
  margin-top: 0;
  }

/* D4.2 */
#pun-ulinks .container {
  border-top: none;
  padding: 0.7em 1em;
  }

/* D4.3 */
#pun-ulinks li, #pun-ulinks li a {
  display: inline;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--line);
  white-space: nowrap;
  }

/* D4.4 */
#pun-ulinks li a {
  padding: 0 0.3em 0 0.6em
  }

/* D4.5 */
#pun-ulinks li.item1, #pun-ulinks li.item1 a {
  border-left-style: none;
  border-left-width: 0;
  padding-left: 0
  }

/* D5 Welcome box and Top Breadcrumbs
-------------------------------------------------------------*/

/* D5.1 */
#pun-status, #pun-status .container {
  border-bottom: none;
  margin-bottom: 0;
  }

/* D5.2 */
#pun-status .container {
  padding: 0.8em 1em 1em 1em;
  }

/* D5.3 */
#pun-status span {
  white-space: nowrap;
  margin-right: 0.5em;
  }

/* D5.4 */
#pun-crumbs1 {
  font-weight: bold;
  overflow: hidden;
  margin-top: 0;
  }

/* D5.5 */
#pun-crumbs1 p.container {
  border-top: none;
  padding: 1em 1em 0.8em 1em;
  font-size: 1.1em;
  }

#pun-crumbs1 p.container::before { content: "\1F4CC  "; color: var(--blue); }

/* D5.6 */
#pun-break1 {
  margin: 0 1em;
  border-style: solid none;
  border-width: 1px 0;
  height: 0;
  margin: -2px 1em;
  position: relative;
  z-index: 1;
  }

/* D6 Announcement
-------------------------------------------------------------*/

/* D6.1 */
#pun-announcement h2 {
  padding: 0;
  margin: 0 1em -3.5em 1em;
  border-style: none none solid none;
  border-width: 0 0 1px 0;
  position: relative;
  font-weight: bold;
  }

/* D6.2 */
#pun-announcement h2 span {
  display: block;
  padding: 1em 0 0.8em 0;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  }

#pun-announcement h2 span::before { content: "\1F4E2  "; }

/* D6.3 */
#pun-announcement .container {
  padding: 4.3em 1em 1em 1em;
  }

/* D6.3b Объявление: лёгкий синий фон */
#pun-announcement .container {
  background: var(--blue-light);
  }

/* D7 Statistics
-------------------------------------------------------------*/

/* D7.1 */
#pun-stats .container {
  padding: 0.8em 1em
  }

/* D7.2 */
#pun-stats li.item1, #pun-stats li.item2 {
  float: left;
  clear: both;
  line-height: 150%;
  }

/* D7.3 */
#pun-stats li.item3, #pun-stats li.item4 {
  text-align: right;
  line-height: 150%;
  }

/* D7.4 */
li#onlinelist {
  margin-top: 1em;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--line);
  float: left;
  width: 100%;
  line-height: 130%;
  }

li#onlinelist::before { content: "\2B50  "; }

/* D7.5 */
li#onlinelist div {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--line);
  padding: 0.7em 0 0 0;
  }

/* D8 Quick Jump - About - Bottom Breadcrumbs
-------------------------------------------------------------*/

/* D8.1 */
#pun-qjump {
  margin: 0;
  border: none;
  width: 50%;
  position: relative;
  float: left;
  }

/* D8.2 */
#pun-qjump .container {
  border: none;
  background: transparent;
  padding: 0.8em 1em;
  }

#pun-qjump label::before { content: "\1F4CB  "; }

/* D8.3 */
#pun-about {
  margin-top: 0;
  }

/* D8.4 */
#pun-about .container {
  border-top-style: none;
  text-align: right;
  line-height: 150%;
  padding: 0.8em 1em;
  }

/* D8.5 */
#pun-about p span {
  display:block;
  padding-left: 50%;
  }

/* D8.6 */
#pun-crumbs2 {
  font-weight: bold;
  overflow: hidden;
  margin-bottom: 0;
  border-bottom: none;
  }

/* D8.7 */
#pun-crumbs2 .container {
  border-bottom: none;
  padding: 0.8em 1em;
  font-size: 1.1em;
  }

/* D8.8 */
#pun-break4 {
  margin: -2px 1em;
  border-style: solid none;
  border-width: 1px 0;
  position: relative;
  height: 0;
  z-index: 1;
  }

/* D8.9 */
div.punbb-admin #pun-about .container {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--line);
  }

/* D8.10 Скругление подвала (минимальное) */
#pun-about, #pun-about .container {
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  }


/* D9 Help file
-------------------------------------------------------------*/

/* D9.1 */
#pun-help .formal .info-box h3.legend {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding-bottom: 0;
  margin-bottom: 0.8em;
  }

/* D9.2 */
#pun-help .formal .info-box h3.legend span {
  padding-bottom: 0.6em;
  display: block;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  font-size: 1.1em;
  }

#pun-help .formal .info-box h3.legend span::before { content: "\2753  "; }

/* D9.3 */
#pun-help .formal p, #pun-help .formal dd {
  margin-bottom: 1em
  }

/* D9.4 */
#pun-help .formal ul, #pun-help .formal dl {
  padding: 0 0 0 1em
  }

/* D9.5 */
#pun-help .formal li {
  padding: 0;
  line-height: 130%
  }

/* D9.6 */
#pun-help .formal li * {
  vertical-align: text-top
  }

/* D9.7 */
#pun-help .formal dt span {
  font: 1.4em/120% monaco, "bitstream vera sans mono", "courier new", courier, monospace
  }

/* D9.8 */
#pun-help .formal .parsedmsg, #pun-help .formal .parsedmsg .incode {
  padding-bottom: 0;
  }


/*************************************************************
E - ACCESSIBILITY & POLISH
**************************************************************/

/* E1 Меньше движения для тех, кто это запрашивает */
@media (prefers-reduced-motion: reduce) {
  .punbb *, .punbb *::before, .punbb *::after {
    transition: none !important;
    }
  }

/* E2 Видимый фокус клавиатуры */
.punbb a:focus-visible,
.punbb input:focus-visible,
.punbb select:focus-visible,
.punbb textarea:focus-visible,
.punbb button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
  }

/* E3 Маленькие экраны */
@media (max-width: 700px) {
  #pun { margin: 10px; }
  #pun-title h1 { padding: 1.2em 1em 0 1em; }
  .linkst .pagelink, .linkst .postlink { position: static; width: auto; top: auto; }
  }