/*************************************************************
A - SETUP
**************************************************************/

/* A1 Import the colour scheme
-------------------------------------------------------------*/

/* A1.1 */
@import url(style_cs.1766018019.css);

/* A2 Deal with browser defaults and wonkiness
-------------------------------------------------------------*/

/* A2.1 */
html, body {
  margin: 0;
  padding: 11px 0 10px 0;
}

/* A2.2 */
.punbb * {
  margin: 0;
}

/* A2.3 */
.punbb ul, .punbb dl, .punbb li, .punbb dd, .punbb dt {
  padding: 0;
  list-style: none;
}

/* A2.4 */
.punbb img {
  border: none;
}

/* 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: clamp(14px, 2vw, 17px); /* Modern responsive sizing */
}

/* A3.2 */
.punbb {
  font: normal clamp(10px, 1.5vw, 14px) 'Cambria', sans-serif;
}

/* A3.3 */
.punbb textarea, .punbb input, .punbb select, .punbb optgroup {
  font: 1em 'Cambria', sans-serif;
}

/* A3.4 */
.punbb h1, .punbb h2, .punbb h3, .punbb h4, .punbb table, .punbb th {
  font-size: 1em;
  font-weight: normal;
}

/* A3.5 */
.punbb h1 span, .punbb h2 span, .punbb legend span {
  font-size: 1em;
}

/* A3.6 */
.punbb pre {
  font: clamp(12px, 1.2vw, 15px)/140% 'Monaco', 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: none;
  transition: color 0.3s ease; /* Smooth transitions */
}

/* 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;
  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;
  position: absolute;
  left: -9999px;
  overflow: hidden;
}

/* A5 Basic page layout and borders
-------------------------------------------------------------*/

/* A5.1 */

/* A5.2 */
.punbb {
  width: clamp(800px, 95vw, 1050px); /* Responsive width */
  margin: 0 auto;
  height: auto;
  display: flex;
  flex-direction: column; /* Modern layout */
}

/* A5.3 */

/* A5.4 */
.punbb .section, .punbb .main {
  margin-bottom: 1em;
}

/* A5.5 */
.punbb .category, .punbb .post {
  margin-top: 0.4em;
}

/* A5.6 */
.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
}

/* A5.7 */
#pun-post .topic {
  margin-top: 1em;
}

/* A5.8 */
.punbb .section, .punbb .forum, .punbb .formal, .punbb .modmenu, .punbb .info,
.punbb .category, .punbb .post {
  border: none;
}

/* A5.9 */
.punbb .container {
  border: none;
}

/* A5.10 */
.punbb .section h2, #pun-main h1, #pun-main h2, #pun-stats h2, #pun-debug h2 {
  padding: 0;
  border: none;
  text-align: center;
}

/*************************************************************
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 */

/* B1.3 */
.punbb .post-content p {
  margin: 0;
  padding: 0 0 0.8em 0;
  text-align: justify;
  font-size: clamp(14px, 2vw, 17px);
  line-height: 1.2;
}

/* B1.4 */
.punbb .post-content img {
  vertical-align: text-bottom;
}

/* B1.5 */
.punbb .post-content img.postimg {
  vertical-align: middle;
}

/* B1.6 */
.punbb .post-content .blockcode, .punbb .post-content blockquote {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column; /* Modern block layout */
}

/* B1.7 */
.punbb .post-content .scrollbox {
  width: 100%;
  overflow: auto;
}

/* B1.8 */
.punbb .post-content .quote-box, .punbb .post-content .code-box {
  margin: 0 0 0.6em 0;
  padding: 0.3em 1em;
  border: 1px dotted var(--quote-border);
  border-radius: 4px;
}

/* B1.9 */
.punbb .quote-box cite, .punbb .code-box strong.legend {
  display: block;
  padding-bottom: 0.4em;
  font-size: 1.1em;
  font-weight: bold;
  font-style: normal;
  margin: 0;
}

/* B2 Information boxes
-------------------------------------------------------------*/

/* B2.1 */
.punbb .info-box {
  padding: 1.1em 1.7em 1em 1.7em;
  border: none;
  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;
}

/* B3 Pagination and posting links
-------------------------------------------------------------*/

/* B3.1 */
.punbb .linkst {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-size: 1.1em;
  height: 0;
  position: relative;
}

/* B3.3 */
.linkst .pagelink {
  position: absolute;
  top: -1.5em;
  left: 1em;
  width: 24em;
}

/* B3.4 */
.linkst .postlink {
  position: absolute;
  top: -1.5em;
  right: 1em;
  width: 16em;
  text-align: right;
  font-weight: bold;
}

/* B3.5 */
.punbb .linksb {
  text-align: right;
  padding: 0.4em 1em 0.5em 1em;
  font-size: 1.1em;
  display: flex;
  justify-content: space-between;
}

/* B3.6 */
.linksb .pagelink {
  width: 24em;
  text-align: left;
}

/* B3.7 */
.linksb .postlink {
  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;
  display: flex;
  gap: 0.6em;
}

/* C1.3 */
.punbb .formsubmit input, .punbb .formsubmit a, .punbb .formsubmit span {
  margin: 0;
}

/* C1.4 */
.punbb fieldset {
  border: none;
  padding: 0 18px 0 18px;
  margin: 0 0 1em 0;
}

/* 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;
}

/* C1.7 */
.punbb fieldset fieldset {
  border: 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 {
  display: inline-flex;
  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%;
}

/* C1.16 */
.punbb textarea, .punbb .longinput input {
  width: 64%;
  margin: 0;
}

/* 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: 20%;
}

/* C2.3 */
.punbb .main .tcr {
  overflow: hidden;
  text-align: left;
  width: 33%;
  color: var(--tcr-color);
  font-family: var(--font-cambria);
  font-size: clamp(12px, 1.5vw, 15px);
  letter-spacing: 0px;
  text-shadow: 0px 0px 1px var(--shadow-dark);
}

/* 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: 30%;
}

/* 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;
}

/* C2.9 */
.punbb td span.youposted {
  font-weight: bold;
  margin-left: -1em;
  position: absolute;
}

/* C2.10 */
.punbb td .modlist {
  display: block;
  padding-top: 0.3em;
}

/* C2.11 */
.punbb .main td {
  border: none;
  padding: 0.8em 1em;
  color: var(--main-td-color);
  font-size: clamp(12px, 1.5vw, 15px);
}

/* C2.12 */
.punbb .main .tcl, .punbb .main .tc2, .punbb .main .tc3, .punbb .main .tcr {
  border: none;
  padding: 0.8em 1em;
  vertical-align: top;
  font-size: clamp(11px, 1.2vw, 13px);
}

/* C2.13 */
.punbb .main th {
  border: none;
  padding: 0.4em 1em;
  color: var(--th-color);
  font-size: clamp(12px, 1.5vw, 15px);
  text-align: left;
  font-weight: bold;
}

/* C2.14 */
.punbb .main .tclcon {
  padding-left: 2.3em;
}

/* C2.15 */
.punbb .main .tclcon input {
  margin-left: -2.3em;
}

/* C2.16 */
.punbb .main .tclcon h3 {
  display: inline;
}

/* C3 Topic/forum list
-------------------------------------------------------------*/

/* C3.1 */
.punbb .main .tcl h3, .punbb .main .tcl h3 a {
  font-size: 1.1em;
  font-weight: bold;
}

/* C3.2 */
.punbb .main .tcl .tclcon h3 a {
  color: var(--tcl-link-color);
}

/* C3.3 */
.punbb .main .tcl .tclcon h3 a:hover {
  color: var(--tcl-link-hover);
}

/* C3.4 */
.punbb .main .tcl p {
  font-size: 1.1em;
  color: var(--tcl-p-color);
}

/* C3.5 */
.punbb .main .tcl .subtle {
  color: var(--subtle-color);
  font-size: 0.9em;
}

/* C3.6 */
.punbb .main .tcl .byuser {
  display: block;
  font-size: 0.9em;
  font-weight: normal;
  color: var(--byuser-color);
}

/* C3.7 */
.punbb .main .tcl .pagetop {
  font-weight: bold;
  color: var(--pagetop-color);
}

/* C3.8 */
.punbb .main .tcl .pagetop a {
  color: var(--pagetop-link);
}

/* C3.9 */
.punbb .main .tcl .pagetop a:hover {
  color: var(--pagetop-link-hover);
}

/* C3.10 */
.punbb .main .tc2 a, .punbb .main .tc3 a, .punbb .main .tcr a {
  font-weight: bold;
  color: var(--tc-link-color);
}

/* C3.11 */
.punbb .main .tc2 a:hover, .punbb .main .tc3 a:hover, .punbb .main .tcr a:hover {
  color: var(--tc-link-hover);
}

/* C3.12 */
.punbb .main .tcmod a {
  font-weight: bold;
  color: var(--tcmod-link);
}

/* C3.13 */
.punbb .main .tcmod a:hover {
  color: var(--tcmod-link-hover);
}

/* C3.14 */
.punbb .main .tcr .byuser {
  color: var(--tcr-byuser);
}

/* C3.15 */
.punbb .main .tcr .pages {
  color: var(--pages-color);
  font-size: 0.9em;
}

/* C3.16 */
.punbb .main .tcr .pages a {
  color: var(--pages-link);
}

/* C3.17 */
.punbb .main .tcr .pages a:hover {
  color: var(--pages-link-hover);
}

/* C3.18 */
#pun-userlist .main .tcl h3 {
  font-size: 1.1em;
}

/* C3.19 */
#pun-userlist .main .tcl h3 a {
  color: var(--userlist-link);
}

/* C3.20 */
#pun-userlist .main .tcl h3 a:hover {
  color: var(--userlist-link-hover);
}

/* C3.21 */
#pun-userlist .main .tcl .subtle {
  color: var(--userlist-subtle);
}

/* C3.22 */
#pun-userlist .main .tc2 a {
  color: var(--userlist-tc2-link);
}

/* C3.23 */
#pun-userlist .main .tc2 a:hover {
  color: var(--userlist-tc2-link-hover);
}

/* C4 Posting area
-------------------------------------------------------------*/

/* C4.1 */
.punbb .post-box {
  padding: 0.8em 1.1em 0.8em 1.1em;
  display: flex;
  flex-direction: column;
}

/* C4.2 */
.punbb .post-box h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 0.2em;
}

/* C4.3 */
.punbb .post-box h3 strong {
  font-weight: normal;
  color: var(--post-box-strong);
}

/* C4.4 */
.punbb .post-box .post-author {
  float: left;
  width: 120px;
  margin-top: -0.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* C4.5 */
.punbb .post-box .post-author ul, .punbb .post-box .post-author p {
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 0.9em;
  color: var(--post-author-color);
}

/* C4.6 */
.punbb .post-box .post-author .username {
  font-size: 1.1em;
  font-weight: bold;
  color: var(--username-color);
  margin-bottom: 0.2em;
}

/* C4.7 */
.punbb .post-box .post-author .useravatar {
  margin-bottom: 0.5em;
}

/* C4.8 */
.punbb .post-box .post-author .useravatar img {
  max-width: 100px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
}

/* C4.9 */
.punbb .post-box .post-author .usertitle {
  font-weight: bold;
  color: var(--usertitle-color);
  margin-bottom: 0.2em;
}

/* C4.10 */
.punbb .post-box .post-author .post-redirect {
  font-size: 0.9em;
  color: var(--post-redirect-color);
}

/* C4.11 */
.punbb .post-box .post-content {
  margin-left: 140px;
  min-height: 100px;
}

/* C4.12 */
.punbb .post-box .post-content .entry-content {
  padding-bottom: 0.8em;
}

/* C4.13 */
.punbb .post-box .post-content .entry-content p:last-child {
  margin-bottom: 0;
}

/* C4.14 */
.punbb .post-box .post-edit {
  font-size: 0.9em;
  color: var(--post-edit-color);
}

/* C4.15 */
.punbb .post-box .post-edit a {
  color: var(--post-edit-link);
}

/* C4.16 */
.punbb .post-box .post-edit a:hover {
  color: var(--post-edit-link-hover);
}

/* C4.17 */
.punbb .post-box .post-signature {
  margin-left: 140px;
  border-top: 1px dashed var(--signature-border);
  padding-top: 0.5em;
  font-size: 0.9em;
  color: var(--signature-color);
}

/* C4.18 */
.punbb .post-box .post-signature hr {
  display: none;
}

/* C4.19 */
.punbb .post-links {
  margin-left: 140px;
  font-size: 0.9em;
}

/* C4.20 */
.punbb .post-links ul {
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.5em;
}

/* C4.21 */
.punbb .post-links li {
  display: inline;
}

/* C4.22 */
.punbb .post-links a {
  color: var(--post-links-color);
}

/* C4.23 */
.punbb .post-links a:hover {
  color: var(--post-links-hover);
}

/* C4.24 */
.punbb .post-links .report {
  font-weight: bold;
}

/* C4.25 */
.punbb .quote-box {
  background-color: var(--quote-bg);
  border-color: var(--quote-border);
}

/* C4.26 */
.punbb .code-box {
  background-color: var(--code-bg);
  border-color: var(--code-border);
}

/* C4.27 */
.punbb .quote-box cite, .punbb .code-box strong.legend {
  color: var(--quote-cite-color);
}

/* C5 Moderation console (Mod menu)
-------------------------------------------------------------*/

/* C5.1 */
.punbb .modmenu .container {
  padding: 0.5em 1em;
}

/* C5.2 */
.punbb .modmenu .container h3 {
  font-size: 1em;
  font-weight: bold;
}

/* C5.3 */
.punbb .modmenu label {
  display: inline-block;
  padding-right: 1em;
}

/* C5.4 */
.punbb .modmenu .submitfield {
  margin-top: 0.5em;
}

/* C5.5 */
.punbb .modmenu input {
  margin-right: 0.3em;
}

/* C6 Profile
-------------------------------------------------------------*/

/* C6.1 */
#pun-profile .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* C6.2 */
#pun-profile .container h2 {
  font-size: 1.4em;
  margin-bottom: 0.3em;
}

/* C6.3 */
#pun-profile .container table {
  margin-bottom: 1em;
}

/* C6.4 */
#pun-profile .container td {
  padding: 0.8em 1em;
}

/* C6.5 */
#pun-profile .container th {
  padding: 0.4em 1em;
  text-align: left;
  font-weight: bold;
}

/* C6.6 */
#pun-profile .container .avatarfield img {
  max-width: 100px;
  height: auto;
}

/* C6.7 */
#pun-profile .container .longinput input {
  width: 48%;
}

/* C6.8 */
#pun-profile .container .textarea textarea {
  width: 64%;
}

/* C6.9 */
#pun-profile .container .hashelp textarea {
  width: 48%;
}

/* C7 Search
-------------------------------------------------------------*/

/* C7.1 */
#pun-search .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* C7.2 */
#pun-search .container h2 {
  font-size: 1.4em;
  margin-bottom: 0.3em;
}

/* C7.3 */
#pun-search .container .submitfield {
  margin-top: 1em;
}

/* C7.4 */
#pun-search .container .longinput input {
  width: 48%;
}

/* C7.5 */
#pun-search .container .textarea textarea {
  width: 64%;
}

/* C7.6 */
#pun-search .container .hashelp textarea {
  width: 48%;
}

/* C7.7 */
#pun-search .container .checkfield input {
  margin-left: 0;
}

/* C7.8 */
#pun-search .container .checkfield label {
  font-weight: normal;
}

/* C8 Help
-------------------------------------------------------------*/

/* C8.1 */
#pun-help .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* C8.2 */
#pun-help .container h2 {
  font-size: 1.4em;
  margin-bottom: 0.3em;
}

/* C8.3 */
#pun-help .container dl {
  margin: 1em 0;
}

/* C8.4 */
#pun-help .container dt {
  font-weight: bold;
  margin-top: 0.5em;
}

/* C8.5 */
#pun-help .container dd {
  margin-left: 1.5em;
}

/* C9 Statistics
-------------------------------------------------------------*/

/* C9.1 */
#pun-stats .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* C9.2 */
#pun-stats .container h2 {
  font-size: 1.4em;
  margin-bottom: 0.3em;
}

/* C9.3 */
#pun-stats .container p {
  margin: 0;
  padding: 0.6em 0;
}

/* C9.4 */
#pun-stats .container table {
  margin-bottom: 1em;
}

/* C9.5 */
#pun-stats .container td {
  padding: 0.8em 1em;
}

/* C9.6 */
#pun-stats .container th {
  padding: 0.4em 1em;
  text-align: left;
  font-weight: bold;
}

/* C10 User list
-------------------------------------------------------------*/

/* C10.1 */
#pun-userlist .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* C10.2 */
#pun-userlist .container h2 {
  font-size: 1.4em;
  margin-bottom: 0.3em;
}

/* C10.3 */
#pun-userlist .container .submitfield {
  margin-top: 1em;
}

/* C10.4 */
#pun-userlist .container .longinput input {
  width: 48%;
}

/*************************************************************
D - NAVIGATION
**************************************************************/

/* D1 Main navigation
-------------------------------------------------------------*/

/* D1.1 */
#pun-navlinks {
  border: none;
  padding: 0.7em 1em 0.6em 1em;
  font-size: 1.1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* D1.2 */
#pun-navlinks .container {
  border: none;
  padding: 0;
}

/* D1.3 */
#pun-navlinks li {
  display: inline;
  margin: 0 0.5em;
}

/* D1.4 */
#pun-navlinks a {
  color: var(--nav-link-color);
  font-weight: bold;
}

/* D1.5 */
#pun-navlinks a:hover {
  color: var(--nav-link-hover);
}

/* D1.6 */
#pun-navlinks .isactive a {
  color: var(--nav-active);
}

/* D2 Page navigation
-------------------------------------------------------------*/

/* D2.1 */
#pun-pagelinks {
  position: relative;
  border: none;
  padding: 0.3em 1em 0.3em 1em;
  font-size: 1.1em;
  display: flex;
  justify-content: center;
}

/* D2.2 */
#pun-pagelinks .container {
  border: none;
  padding: 0;
}

/* D2.3 */
#pun-pagelinks .pagelink a, #pun-pagelinks .pagelink strong {
  padding: 0.2em 0.4em;
  margin: 0 0.1em;
}

/* D2.4 */
#pun-pagelinks .pagelink a {
  color: var(--pagelink-color);
  background-color: var(--pagelink-bg);
  border: 1px solid var(--pagelink-border);
  text-decoration: none;
}

/* D2.5 */
#pun-pagelinks .pagelink a:hover {
  background-color: var(--pagelink-hover-bg);
  color: var(--pagelink-hover-color);
}

/* D2.6 */
#pun-pagelinks .pagelink strong {
  color: var(--pagelink-strong-color);
  background-color: var(--pagelink-strong-bg);
  border: 1px solid var(--pagelink-strong-border);
  font-weight: bold;
}

/* D3 User links
-------------------------------------------------------------*/

/* D3.1 */
#pun-ulinks {
  border: none;
  padding: 0.7em 1em 0.6em 1em;
  font-size: 1.1em;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* D3.2 */
#pun-ulinks .container {
  border: none;
  padding: 0;
}

/* D3.3 */
#pun-ulinks li {
  display: inline;
  margin: 0 0.5em;
}

/* D3.4 */
#pun-ulinks a {
  color: var(--ulinks-color);
  font-weight: bold;
}

/* D3.5 */
#pun-ulinks a:hover {
  color: var(--ulinks-hover);
}

/* D3.6 */
#pun-ulinks .isactive a {
  color: var(--ulinks-active);
}

/* D4 Forum breadcrumbs
-------------------------------------------------------------*/

/* D4.1 */
.punbb .paged-head {
  padding: 0;
  border: none;
}

/* D4.2 */
.punbb .paged-head h2 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0.3em;
}

/* D4.3 */
.punbb .paged-head .crumbs {
  font-size: 1.1em;
  margin-bottom: 0.5em;
}

/* D4.4 */
.punbb .paged-head .crumbs a {
  color: var(--crumbs-link);
}

/* D4.5 */
.punbb .paged-head .crumbs a:hover {
  color: var(--crumbs-link-hover);
}

/* D4.6 */
.punbb .paged-head .crumbs strong {
  color: var(--crumbs-strong);
}

/*************************************************************
E - FORMS
**************************************************************/

/* E1 General form elements
-------------------------------------------------------------*/

/* E1.1 */
.punbb .frm .frm-head {
  padding: 0.8em 1.1em 0.8em 1.1em;
  border: none;
  background-color: var(--frm-head-bg);
}

/* E1.2 */
.punbb .frm .frm-head h2 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0;
}

/* E1.3 */
.punbb .frm .frm-info {
  padding: 0.8em 1.1em 0.8em 1.1em;
  border: none;
  background-color: var(--frm-info-bg);
}

/* E1.4 */
.punbb .frm .frm-info p {
  margin: 0;
  padding: 0.4em 0;
}

/* E1.5 */
.punbb .frm .frm-form {
  padding: 0;
  border: none;
}

/* E1.6 */
.punbb .frm .frm-form .container {
  padding: 1.7em 2.3em 1.1em 2.3em;
}

/* E1.7 */
.punbb .frm .frm-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

/* E1.8 */
.punbb .frm .frm-form legend {
  display: none;
}

/* E1.9 */
.punbb .frm .frm-form div {
  margin-bottom: 1em;
}

/* E1.10 */
.punbb .frm .frm-form label {
  display: block;
  font-weight: bold;
  font-size: 1em;
}

/* E1.11 */
.punbb .frm .frm-form label.conl {
  display: inline;
  width: 45%;
  float: left;
  /* Note: float kept for layout compatibility, but consider flex in future updates */
}

/* E1.12 */
.punbb .frm .frm-form .inputfield {
  padding: 0.3em 0.6em;
  border: 1px solid var(--input-border);
  background-color: var(--input-bg);
  color: var(--input-color);
  font-family: inherit;
  font-size: 1em;
  transition: border-color 0.2s ease;
}

/* E1.13 */
.punbb .frm .frm-form .inputfield:focus {
  border-color: var(--input-focus-border);
  outline: none;
}

/* E1.14 */
.punbb .frm .frm-form .textarea textarea {
  width: 100%;
  padding: 0.3em 0.6em;
  border: 1px solid var(--textarea-border);
  background-color: var(--textarea-bg);
  color: var(--textarea-color);
  font-family: inherit;
  font-size: 1em;
  resize: vertical;
  transition: border-color 0.2s ease;
}

/* E1.15 */
.punbb .frm .frm-form .textarea textarea:focus {
  border-color: var(--textarea-focus-border);
  outline: none;
}

/* E1.16 */
.punbb .frm .frm-form .checkfield input {
  margin-left: 0;
}

/* E1.17 */
.punbb .frm .frm-form .checkfield label {
  font-weight: normal;
  display: inline;
}

/* E1.18 */
.punbb .frm .frm-form .submitfield {
  margin-top: 1.5em;
  text-align: center;
}

/* E1.19 */
.punbb .frm .frm-form .submitfield input {
  padding: 0.4em 1em;
  border: 1px solid var(--submit-border);
  background-color: var(--submit-bg);
  color: var(--submit-color);
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

/* E1.20 */
.punbb .frm .frm-form .submitfield input:hover {
  background-color: var(--submit-hover-bg);
}

/* E1.21 */
.punbb .frm .frm-form .submitfield input:focus {
  outline: 2px solid var(--submit-focus-outline);
}

/* E1.22 */
.punbb .frm .frm-form .longinput input {
  width: 100%;
}

/* E1.23 */
.punbb .frm .frm-form .hashelp {
  position: relative;
}

/* E1.24 */
.punbb .frm .frm-form .hashelp .helplink {
  position: absolute;
  top: 0.3em;
  right: 0.3em;
  font-size: 0.9em;
  color: var(--helplink-color);
  text-decoration: none;
}

/* E1.25 */
.punbb .frm .frm-form .hashelp .helplink:hover {
  color: var(--helplink-hover);
}

/* E2 Topic/post polls
-------------------------------------------------------------*/

/* E2.1 */
.punbb .frm .frm-form .poll {
  margin: 1em 0;
  padding: 1em;
  border: 1px solid var(--poll-border);
  background-color: var(--poll-bg);
}

/* E2.2 */
.punbb .frm .frm-form .poll .pollquestion {
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* E2.3 */
.punbb .frm .frm-form .poll .polloption {
  margin: 0.2em 0;
}

/* E2.4 */
.punbb .frm .frm-form .poll .polloption input {
  margin-right: 0.5em;
}

/* E2.5 */
.punbb .frm .frm-form .poll .polloption label {
  font-weight: normal;
}

/* E3 Error/info messages
-------------------------------------------------------------*/

/* E3.1 */
.punbb .frm .frm-error {
  padding: 0.8em 1.1em 0.8em 1.1em;
  border: none;
  background-color: var(--error-bg);
  color: var(--error-color);
}

/* E3.2 */
.punbb .frm .frm-error h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* E3.3 */
.punbb .frm .frm-error p {
  margin: 0.5em 0;
}

/* E3.4 */
.punbb .frm .frm-info {
  padding: 0.8em 1.1em 0.8em 1.1em;
  border: none;
  background-color: var(--info-bg);
  color: var(--info-color);
}

/* E3.5 */
.punbb .frm .frm-info h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* E3.6 */
.punbb .frm .frm-info p {
  margin: 0.5em 0;
}

/*************************************************************
F - TABLES
**************************************************************/

/* F1 General table setup
-------------------------------------------------------------*/

/* F1.1 */
.punbb table {
  border-collapse: collapse;
  width: 100%;
}

/* F1.2 */
.punbb td {
  border: none;
  padding: 0.8em 1em;
  vertical-align: top;
}

/* F1.3 */
.punbb th {
  border: none;
  padding: 0.4em 1em;
  color: var(--th-color);
  font-size: 1.1em;
  text-align: left;
  font-weight: bold;
}

/* F2 Post/topic tables
-------------------------------------------------------------*/

/* F2.1 */
.punbb .main table {
  border: none;
}

/* F2.2 */
.punbb .main th {
  border: none;
  padding: 0.4em 1em;
  color: var(--main-th-color);
  font-size: 1.1em;
  text-align: left;
  font-weight: bold;
}

/* F2.3 */
.punbb .main td {
  border: none;
  padding: 0.8em 1em;
  vertical-align: top;
}

/* F2.4 */
.punbb .main .tcl, .punbb .main .tc2, .punbb .main .tc3, .punbb .main .tcr {
  border: none;
  padding: 0.8em 1em;
  vertical-align: top;
}

/* F3 User info tables
-------------------------------------------------------------*/

/* F3.1 */
.punbb .usertable table {
  border: none;
}

/* F3.2 */
.punbb .usertable th {
  border: none;
  padding: 0.4em 1em;
  color: var(--usertable-th-color);
  font-size: 1.1em;
  text-align: left;
  font-weight: bold;
}

/* F3.3 */
.punbb .usertable td {
  border: none;
  padding: 0.8em 1em;
  vertical-align: top;
}

/*************************************************************
G - MISCELLANEOUS
**************************************************************/

/* G1 General/misc stuff
-------------------------------------------------------------*/

/* G1.1 */
.punbb .clearer {
  clear: both;
  height: 0;
  font-size: 0;
  line-height: 0;
}

/* G1.2 */
.punbb .clearer, .punbb .clearb {
  clear: both;
}

/* G1.3 */
.punbb .postmsg {
  word-wrap: break-word;
}

/* G1.4 */
.punbb .entry-content p {
  margin: 0.8em 0;
}

/* G1.5 */
.punbb .entry-content p:first-child {
  margin-top: 0;
}

/* G1.6 */
.punbb .entry-content p:last-child {
  margin-bottom: 0;
}

/* G1.7 */
.punbb .entry-content ul, .punbb .entry-content ol {
  margin: 0.8em 2em;
  padding: 0 1em;
}

/* G1.8 */
.punbb .entry-content li {
  margin: 0.2em 0;
}

/* G1.9 */
.punbb .entry-content blockquote {
  margin: 0.8em 2em;
  padding: 0.5em 1em;
  border-left: 4px solid var(--blockquote-border);
  background-color: var(--blockquote-bg);
}

/* G1.10 */
.punbb .entry-content code {
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
  background-color: var(--code-bg);
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

/* G1.11 */
.punbb .entry-content pre {
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
  background-color: var(--pre-bg);
  padding: 1em;
  overflow: auto;
  border-radius: 3px;
}

/* G1.12 */
.punbb .entry-content h4, .punbb .entry-content h5, .punbb .entry-content h6 {
  margin: 1em 0 0.5em 0;
  font-size: 1.1em;
  font-weight: bold;
}

/* G1.13 */
.punbb .entry-content img {
  max-width: 100%;
  height: auto;
}

/* G1.14 */
.punbb .entry-content .spoiler {
  background-color: var(--spoiler-bg);
  color: var(--spoiler-color);
  padding: 0.5em;
  border-radius: 3px;
  cursor: pointer;
}

/* G1.15 */
.punbb .entry-content .spoiler:hover {
  background-color: var(--spoiler-hover-bg);
}

/* G2 Pagination
-------------------------------------------------------------*/

/* G2.1 */
.punbb .pagination {
  display: flex;
  justify-content: center;
  gap: 0.5em;
  margin: 1em 0;
}

/* G2.2 */
.punbb .pagination a, .punbb .pagination strong {
  padding: 0.4em 0.8em;
  border: 1px solid var(--pagination-border);
  background-color: var(--pagination-bg);
  color: var(--pagination-color);
  text-decoration: none;
  transition: background-color 0.2s ease;
}

/* G2.3 */
.punbb .pagination a:hover {
  background-color: var(--pagination-hover-bg);
  color: var(--pagination-hover-color);
}

/* G2.4 */
.punbb .pagination strong {
  background-color: var(--pagination-strong-bg);
  color: var(--pagination-strong-color);
  font-weight: bold;
}

/* G3 Announcements
-------------------------------------------------------------*/

/* G3.1 */
.punbb .announce {
  background-color: var(--announce-bg);
  border: 1px solid var(--announce-border);
  padding: 1em;
  margin: 1em 0;
}

/* G3.2 */
.punbb .announce h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G3.3 */
.punbb .announce p {
  margin: 0.5em 0;
}

/* G4 Rules
-------------------------------------------------------------*/

/* G4.1 */
.punbb .rules {
  background-color: var(--rules-bg);
  border: 1px solid var(--rules-border);
  padding: 1em;
  margin: 1em 0;
}

/* G4.2 */
.punbb .rules h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G4.3 */
.punbb .rules p {
  margin: 0.5em 0;
}

/* G5 Maintenance
-------------------------------------------------------------*/

/* G5.1 */
.punbb .maintenance {
  background-color: var(--maintenance-bg);
  border: 1px solid var(--maintenance-border);
  padding: 1em;
  margin: 1em 0;
  text-align: center;
}

/* G5.2 */
.punbb .maintenance h3 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G5.3 */
.punbb .maintenance p {
  margin: 0.5em 0;
}

/* G6 Redirect
-------------------------------------------------------------*/

/* G6.1 */
.punbb .redirect {
  background-color: var(--redirect-bg);
  border: 1px solid var(--redirect-border);
  padding: 1em;
  margin: 1em 0;
  text-align: center;
}

/* G6.2 */
.punbb .redirect h3 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G6.3 */
.punbb .redirect p {
  margin: 0.5em 0;
}

/* G7 Topic review
-------------------------------------------------------------*/

/* G7.1 */
.punbb .topicreview {
  background-color: var(--topicreview-bg);
  border: 1px solid var(--topicreview-border);
  padding: 1em;
  margin: 1em 0;
}

/* G7.2 */
.punbb .topicreview h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G7.3 */
.punbb .topicreview .post-box {
  margin-bottom: 1em;
}

/* G8 Online list
-------------------------------------------------------------*/

/* G8.1 */
.punbb .online {
  background-color: var(--online-bg);
  border: 1px solid var(--online-border);
  padding: 1em;
  margin: 1em 0;
}

/* G8.2 */
.punbb .online h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

/* G8.3 */
.punbb .online p {
  margin: 0.5em 0;
}

/* G9 Responsive adjustments
-------------------------------------------------------------*/

/* G9.1 */
@media (max-width: 768px) {
  .punbb .main .tcl, .punbb .main .tc2, .punbb .main .tc3, .punbb .main .tcr {
    display: block;
    width: 100%;
  }

  .punbb .post-box .post-author {
    float: none;
    width: auto;
    margin-bottom: 1em;
  }

  .punbb .post-box .post-content {
    margin-left: 0;
  }

  .punbb .post-box .post-signature {
    margin-left: 0;
  }

  .punbb .post-links {
    margin-left: 0;
  }

  #pun-navlinks, #pun-ulinks {
    flex-direction: column;
    align-items: flex-start;
  }

  #pun-navlinks li, #pun-ulinks li {
    margin: 0.2em 0;
  }
}
 

