/*************************************************************
A - SETUP (DARK PURPLE THEME + ROUNDED)
**************************************************************/

/* &#127912; Цветовая схема и закругления */
:root {
  --bg-page: #0b0914;
  --bg-main: #141122;
  --bg-post: #1a162b;
  --bg-input: #110f1c;
  --bg-quote: #1f1a33;
  --border: #383052;
  --text-main: #e6e2f5;
  --text-muted: #9a93b8;
  --link: #a78bfa;
  --link-hover: #c4b5fd;
  --accent: #7c3aed;
  --accent-hover: #6d28d9;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
}

/* A1 Import the colour scheme (отключён, цвета заданы выше)
  @import url(style_cs.1775850021.css);
*/

/* A2 Deal with browser defaults and wonkiness
-------------------------------------------------------------*/
html, body {margin: 0; padding: 0}
body {
  background: var(--bg-page);
  color: var(--text-main);
  font-size: 100.01%;
}
.punbb * { margin: 0; box-sizing: border-box; }
.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%; }
.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 Text setup
-------------------------------------------------------------*/
.punbb {
  font: normal 68.75% verdana, arial, helvetica, sans-serif;  background: var(--bg-main);
}
.punbb textarea, .punbb input, .punbb select, .punbb optgroup {
  font: 1em verdana, arial, helvetica, sans-serif;
}
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th {
  font-size: 1em; font-weight: normal; color: var(--text-main);
}
.punbb h1 span, .punbb h2 span, .punbb legend span { font-size: 1.1em; color: var(--accent); }
.punbb pre {
  font: 1.1em/140% monaco, "bitstream vera sans mono", "courier new", courier, monospace;
  background: var(--bg-quote); border-radius: var(--radius-md);
}
.punbb address, .punbb em { font-style: normal; }
.punbb .post-content em { font-style: italic; }
.punbb .post-content em.bbuline { font-style: normal; text-decoration: underline; }
.punbb a {
  color: var(--link);
  text-decoration: none;
  border-bottom: 1px dotted transparent;
  transition: all 0.2s ease;
}
.punbb a:hover { color: var(--link-hover); border-bottom-color: var(--link-hover); }
.punbb optgroup { font-weight: bold; }

/* A4 Float clearing and hidden items
-------------------------------------------------------------*/
#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;
}
.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
-------------------------------------------------------------*/
#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; }
/* &#128995; Обновлённые границы и фоны контейнеров */
.punbb .section, .punbb .forum, .punbb .formal, .punbb .modmenu, .punbb .info,
.punbb .category, .punbb .post, .punbb .container, .punbb .info-box {
  border-style: solid; border-width: 1px; border-color: var(--border);
  background: var(--bg-post); border-radius: var(--radius-lg);
  margin-bottom: 0.8em;
}
.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;
  border-color: var(--border); background: var(--bg-main); color: var(--text-main);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

/*************************************************************
B - MAIN CONTENT - GENERAL
**************************************************************/
.punbb .post-content { padding: 0; margin: 0; width: 100%; overflow: hidden; }
.punbb .post-sig dt { display: block; border-top: 1px solid var(--border); 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; }
.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: 1px solid var(--accent); background: var(--bg-quote);
  border-radius: var(--radius-md);
}
.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; color: var(--link-hover);
}

/* B2 Information boxes
-------------------------------------------------------------*/
.punbb .info-box { padding: 1.1em 1.7em 1em 1.7em; border: 1px solid var(--border); background: var(--bg-post); border-radius: var(--radius-lg); 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; color: var(--accent); }

/* B3 Pagination and posting links
-------------------------------------------------------------*/
.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 Form layout
-------------------------------------------------------------*/
.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: 1px solid var(--border); padding: 0 18px; margin: 0 0 1em 0;
  border-radius: var(--radius-md); background: rgba(255,255,255,0.02);
}
.punbb fieldset legend { padding: 0; margin: 0 0 0 11px; font-size: 1.1em; color: var(--accent); }
.punbb fieldset legend span { padding: 0 5px; margin: 0 0 0 -15px; background: var(--bg-main); border-radius: var(--radius-sm); }
.punbb fieldset fieldset { border-style: none; margin: 0; padding: 0 0 8px 0; }
.punbb .fs-box { padding: 1em 0 0.8em 0; }
.punbb .fs-box p, .punbb .fs-box fieldset { padding: 0 0 0.8em 0; }
.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; padding: 0 12em 0 0; height: 100%; }

/* &#128995; Поля ввода */
.punbb textarea, .punbb .longinput input,
.punbb input[type="text"], .punbb input[type="password"], .punbb input[type="email"],
.punbb input[type="url"], .punbb input[type="number"], .punbb select {
  width: 64%; margin: 0;
  background: var(--bg-input); color: var(--text-main);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 0.4em 0.6em; outline: none; transition: all 0.2s;
}
.punbb textarea:focus, .punbb input:focus, .punbb select:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}

.punbb .hashelp { position: relative; }
.punbb .helplinks { display: block; position: absolute; top: 1em; right: 0; font-weight: normal; width: 36%; }
.punbb #profile .helplinks { top: 1.5em; }
.punbb .helplinks span { display: block; padding-bottom: 0.2em; }
#pun-post .formal .info-box li { padding-left: 4px; list-style-type: square; list-style-position: inside; line-height: 1.5; margin: 0; }

/* &#128995; Кнопки */
.punbb .formsubmit input, .punbb input[type="submit"], .punbb input[type="button"], .punbb button {
  background: var(--accent); color: #fff; border: none;  border-radius: var(--radius-sm); padding: 0.5em 1.2em;
  cursor: pointer; font-weight: bold; transition: background 0.2s;
}
.punbb .formsubmit input:hover, .punbb input[type="submit"]:hover { background: var(--accent-hover); }

/* C2 Table layout
-------------------------------------------------------------*/
.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; color: var(--link); }
.punbb td span.youposted { font-weight: bold; margin-left: -1em; position: absolute; }
.punbb td .modlist { display: block; padding-top: 0.3em; }
.punbb .main td, .punbb .main th {
  border-style: solid none none solid; border-width: 1px 0 0 1px;
  border-color: var(--border); padding: 0.8em 1em; background: var(--bg-post);
}
.punbb .main .tcl { border-left-style: none; border-left-width: 0; }
.punbb tbody.hasicon td.tcl { padding-left: 3.2em; }
.punbb div.icon { border-style: solid; border-width: 0.6em; height: 0; line-height: 0.0; margin-top: 0.1em; width: 0; border-color: var(--border); }
.punbb  table div.icon { font-size: 1.05em; position: absolute; margin-left: -2.2em; }

/* C3 Topics
-------------------------------------------------------------*/
.punbb .post .container {
  border: 1px solid var(--border); border-top: none;
  margin-top: -1px; padding-bottom: 1px; background: var(--bg-post);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.punbb .post h3 {
  border: 1px solid var(--border); border-bottom: none;
  background: var(--bg-main); border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.punbb .post h3 span { padding: 0.5em 1em; display: block; margin-left: 19em; border-left: 1px solid var(--border); }
.punbb .post h3 strong { float: right; width: 5em; text-align: right; font-weight: normal; }
.punbb .post .post-author { float: left; width: 19em; margin-top: -1.5em; overflow: hidden; }
.punbb .post .post-author ul, .punbb .post .post-author p { padding: 0 1em 1em 1em; line-height: 140%; }
.pa-author { font-size: 1.1em; font-weight: bold; color: var(--link); }
.pa-author a { text-decoration: none; }
li.pa-title { padding-bottom: 0.4em; font-weight: bold; }
li.pa-online { line-height: 0.8em; border-left: 0.7em solid var(--accent); padding-left: 0.4em; margin-top: 0.7em; }

.punbb .post-body { margin-left: 19em; border-left: 1px solid var(--border); padding: 0 0 1px 0; }
.punbb .post-box { padding: 1em; }
.punbb fieldset .post-box { margin-bottom: 0.8em; }
.punbb .post-links { margin-left: 19em; border-left: 1px solid var(--border); }.punbb .post-links ul {
  padding: 0 1em 0 0; height: 2em; line-height: 2em; margin-left: -19em;
  border-top: 1px dashed var(--border); background: transparent; text-align: right;
}
.punbb .post-links li { display: inline; padding-left: 1em; }
.pl-email, .pl-website { float: left; }
.punbb .clearer { clear: both; height: 0; font-size: 0; }

/* C4 Moderator menu
-------------------------------------------------------------*/
.punbb .modmenu .container { padding: 0.5em 1em; text-align: right; background: transparent; border: none; }
.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; }

/* C5 Message boxes
-------------------------------------------------------------*/
.punbb .info .container { padding: 0.8em 1em; background: transparent; border: none; }
.punbb .info .container .backlink { padding-top: 0.8em; }

/* C6 Profile
-------------------------------------------------------------*/
#profile .container { padding-left: 18.6em; }
#profilenav { float: left; width: 14em; margin-left: -16.3em; display: inline; }
#profilenav li { padding-bottom: 0.8em; font-weight: bold; color: var(--link); }
#viewprofile ul, #profilenav ul {
  border: 1px solid var(--border); padding: 1.5em 18px 0.8em 18px;
  margin: 0 0 1em 0; background: var(--bg-post); border-radius: var(--radius-lg);
}
#viewprofile h2, #profilenav h2 { background: transparent; border: none; padding: 0; margin: 0 14px -0.6em 14px; }
#viewprofile h2 span, #profilenav h2 span { padding: 0 5px; position: relative; background: var(--bg-main); border-radius: var(--radius-sm); }
#viewprofile li, #setmods dl { padding: 0 0 0 16em; margin-bottom: 0.2em; }
#viewprofile li span { float: left; width: 14em; margin-left: -16em; padding: 0.5em 1em; font-weight: bold; }
#setmods dt { float: left; width: 14em; margin-left: -16em; padding: 0.8em 1em; font-weight: bold; display: inline; }
#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; border-radius: var(--radius-md); }

/* C7 User list
-------------------------------------------------------------*/
#pun-userlist .formal, #pun-userlist .formal .container { border-bottom: none; margin-bottom: 0; background: transparent; }
#pun-userlist .usertable .container { padding: 0 2.3em 2.3em 2.3em; border-top: none; background: transparent; }
#pun-userlist .usertable table { border: 1px solid var(--border); border-radius: var(--radius-md); }

/*************************************************************
D - PUNBB SECTIONS OTHER THAN MAIN CONTENT
**************************************************************/
/* D1 Logo and description
-------------------------------------------------------------*/
#pun-title { margin: 0; border: 1px solid var(--border); border-bottom: none; background: var(--bg-main); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
#pun-title h1 { display : block; height : 40px; padding: 2em 1em 0 1em; }#pun-title .container { border-style: none solid none solid; background: transparent; }
#pun-title h1 span  { font-size: 1.5em; color: var(--accent); }
#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
-------------------------------------------------------------*/
#pun-pagelinks { position: absolute; top: -15px; left: 0; margin: 0; border: none; padding: 0; width: 100%; }
#pun-pagelinks .container { background: transparent; border: none; padding: 0; }
#pun-pagelinks .container li { display: inline; }
#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%;
}
#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
-------------------------------------------------------------*/
#pun-navlinks, #pun-navlinks .container { border-style: none; border-width: 0; margin: 0; background: transparent; }
#pun-navlinks .container { padding: 0.7em 1em; }
#pun-navlinks li { display: inline; padding-right: 1em; }
#pun-navlinks li a { font-size: 1.1em; color: var(--link); }

/* D4 User links
-------------------------------------------------------------*/
#pun-ulinks  { margin-top: 0; }
#pun-ulinks .container { border-top: none; padding: 0.7em 1em; background: transparent; }
#pun-ulinks li, #pun-ulinks li a { display: inline; border-left: 1px solid var(--border); white-space: nowrap; }
#pun-ulinks li a { padding: 0 0.3em 0 0.6em; }
#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
-------------------------------------------------------------*/
#pun-status, #pun-status .container { border-bottom: none; margin-bottom: 0; background: transparent; }
#pun-status .container { padding: 0.8em 1em 1em 1em; }
#pun-status span { white-space: nowrap; margin-right: 0.5em; color: var(--text-muted); }
#pun-crumbs1 { font-weight: bold; overflow: hidden; margin-top: 0; }
#pun-crumbs1 p.container { border-top: none; padding: 1em 1em 0.8em 1em; font-size: 1.1em; background: transparent; border: none; }
#pun-break1 { margin: 0 1em; border-style: solid none; border-width: 1px 0; height: 0; margin: -2px 1em; position: relative; z-index: 1; border-color: var(--border); }

/* D6 Announcement
-------------------------------------------------------------*/
#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; border-color: var(--border); }
#pun-announcement h2 span { display: block; padding: 1em 0 0.8em 0; border-bottom: 1px solid var(--border); }
#pun-announcement .container { padding: 4.3em 1em 1em 1em; background: transparent; }

/* D7 Statistics
-------------------------------------------------------------*/#pun-stats .container { padding: 0.8em 1em; background: transparent; border: none; }
#pun-stats li.item1, #pun-stats li.item2 { float: left; clear: both; line-height: 150%; }
#pun-stats li.item3, #pun-stats li.item4 { text-align: right; line-height: 150%; }
li#onlinelist { margin-top: 1em; border-top: 1px solid var(--border); float: left; width: 100%; line-height: 130%; }
li#onlinelist div { border-top: 1px solid var(--border); padding: 0.7em 0 0 0; }

/* D8 Quick Jump - About - Bottom Breadcrumbs
-------------------------------------------------------------*/
#pun-qjump { margin: 0; border: none; width: 50%; position: relative; float: left; }
#pun-qjump .container { border: none; background: transparent; padding: 0.8em 1em; }
#pun-about { margin-top: 0; }
#pun-about .container { border-top-style: none; text-align: right; line-height: 150%; padding: 0.8em 1em; background: transparent; }
#pun-about p span { display:block; padding-left: 50%; }
#pun-crumbs2 { font-weight: bold; overflow: hidden; margin-bottom: 0; border-bottom: none; }
#pun-crumbs2 .container { border-bottom: none; padding: 0.8em 1em; font-size: 1.1em; background: transparent; }
#pun-break4 { margin: -2px 1em; border-style: solid none; border-width: 1px 0; position: relative; height: 0; z-index: 1; border-color: var(--border); }
div.punbb-admin #pun-about .container { border-top-style: solid; border-top-width: 1px; border-color: var(--border); }

/* D9 Help file
-------------------------------------------------------------*/
#pun-help .formal .info-box h3.legend { border-bottom: 1px solid var(--border); padding-bottom: 0; margin-bottom: 0.8em; }
#pun-help .formal .info-box h3.legend span { padding-bottom: 0.6em; display: block; border-bottom: 1px solid var(--border); 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; color: var(--link); }
#pun-help .formal .parsedmsg, #pun-help .formal .parsedmsg .incode { padding-bottom: 0; }

/* &#128995; Кастомный скроллбар (Webkit) */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg-page); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }