/*
 * DOS layout and behavior
 * Geometry, flow, positioning, sizing, responsive rules and interaction logic.
 * Visual settings live in style_cs.1785849637.css.
 */
@import url(style_cs.1785849637.css);

/* Platform and custom layout */

.punbb {
  width: 1000px;
}

#pun-crumbs1, .punbb .category .container {
  width: 980px;
  margin: auto;
}

#pun-index .category table {
  position: relative;
  border-spacing: 0px 10px;
  z-index: 999;
}

#pun-index .category table::after {
  position: absolute;
  margin-top: 5px;
  margin-left: -5px;
  top: 0;
  left: 0;
  width: calc(100% + 10px);
  height: calc(100% - 20px);
  z-index: -1;
}

#pun-index .category .tc2,#pun-index .category .tc3, #f-subforums .tc2,#f-subforums .tc3 {
  display: none!important;
}

.Tems_And_messages {
  padding: 2px 10px 2px 10px;
  margin: 0!important;
}

.main table .Add {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  column-gap: 1%;
}

#pun-index #pun-crumbs1 {
  display: none;
}

#pun-crumbs1 {
  overflow: hidden;
}

#pun-crumbs1 p.container, #pun-crumbs2 p.container {
  padding: 2em 0em 1em 0em;
}

.punbb h2 span {
  height: 60px;
  overflow: hidden;
  margin-bottom: -23px;
}

.category h2 span {
  position: relative;
}

.category h2 span::before {
  width: fit-content;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate( 20%, 50%) rotate(-1deg);
}

.category h2 span:hover::before {
  padding: 0px 10px;
}

#pun-category2.category h2 span::before {
  transform: translate(120%, 50%) rotate(-1deg);
}

#pun-category3.category h2 span::before {
  transform: translate(180%, 50%) rotate(-1deg);
}

#pun-category4.category h2 span::before {
  transform: translate(15%, 50%) rotate(-1deg);
}

#pun-category5.category h2 span::before {
  transform: translate(35%, 50%) rotate(-1deg);
}

#pun-category6.category h2 span::before {
  transform: translate(40%, 50%) rotate(-1deg);
}

span.item1 {
  margin-top: -60px!important;
}

#pun-main h1 {
  padding: 1em 0em 1em 0em;
  padding: 3px 15px;
  width: fit-content;
  margin: auto;
}

#topic-modmenu.modmenu select#mod-options {
  box-sizing: border-box;
  padding: 2px;
}

.punbb .post .container {
  width: 99%;
  box-sizing: border-box;
  margin: auto;
  padding: 5px;
}

.punbb .post h3 span {
  padding: 5px 10px 5px 10px;
  display: block;
}

.punbb .post h3 strong {
  float: right;
}

.punbb .linkst {
  float: left;
  margin-left: 10px;
}

.linksb .pagelink {
  margin-right: auto;
}

.linkst .pagelink, .linksb .pagelink {
  padding: 2px 10px;
}

.linkst .pagelink strong, .linksb .pagelink strong {
  padding: 2px 4px;
}

.upperwrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: stretch;
  align-content: flex-end;
  gap: 5px;
}

.upperwrap :nth-child(1) {
  order: 2;
}

.punbb .linksb {
  display: flex;
  flex-direction: row-reverse;
  width: 97%;
  margin: auto;
  gap: 5px;
  align-items: center;
}

.punbb .linksb :nth-child(1) {
  order: 1;
}

.punbb .linksb :nth-child(2) {
  order: 3;
}

.subscribelink, .linksb .postlink {
  box-sizing: border-box;
  padding: 2px 10px;
}

#post-form h2 {
  display: none;
}

.punbb .post-links ul {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  padding: 0;
  gap: 3px;
  flex-wrap: wrap;
}

.underprofile {
  display: flex;
  width: 220px;
  gap: 10px;
  flex-direction: row;
  justify-content: flex-start;
  margin-left: 5px !important;
}

.pl-email.email {
  display: none;
}

.underpost {
  display: flex;
  gap: 30px;
  justify-content: flex-end;
  flex-grow: 1;
}

.pl-reports {
  display: none;
}

.pl-delete, .pl-edit, .pl-quote, .pl-email {
  padding: 2px 10px 2px 25px;
}

.pl-delete a::before, .pl-edit a::before, .pl-quote a::before, .pl-email.profile a::before {
  position: absolute;
  margin-left: -20px;
  height: 13px;
  width: 13px;
}

.pl-email.pm a::before {
  position: absolute;
  margin-left: -20px;
  margin-top: -1px;
  height: 15px;
  width: 15px;
}

.punbb .formsubmit {
  padding: 0 0 0 1.7em;
  display: flex;
  margin: 1em 0 0 0;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

#profile .container {
  padding: 0;
}

#profilenav ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  padding-top: 30px;
}

#profilenav h2 span {
  display: none;
}

#viewprofile-next #profilenav {
  display: none;
}

#profilenav li {
  padding: 2px 10px;
}

#viewprofile li strong, #viewprofile li div, #setmods dd {
  display: block;
}

#viewprofile ul {
  padding: 0em 28px 0em 0px;
  margin: 0 0 1em 0;
}

#messages tr {
  display: flex;
  margin-bottom: 10px !important;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: center;
}

#messages thead tr {
  margin-right: -4px!important;
}

#topic-users-in {
  padding: 0px 15px 0px 10px;
}

.punbb .quote-box, .punbb .code-box {
  padding: 20px!important;
}

.punbb textarea {
  box-sizing: border-box;
  padding: 10px;
}

.punbb input[type="submit"], .punbb input[type="button"] {
  cursor: pointer;
  padding: 5px 10px;
}

.punbb input[type="submit"]:hover, .punbb input[type="button"]:hover {
  padding: 5px 10px;
}

.punbb input[type='text'] {
  padding: 4px 10px 4px 10px;
}

.punbb .post-content p {
  margin: 0;
  padding: 0 0 1em 0;
}

#pun-navlinks .container {
  column-gap: 10px;
  width: 910px;
  display: flex;
  margin-top: -260px;
  position: absolute;
  justify-content: flex-end;
}

#pun-navlinks a {
  height: 15px;
  width: 15px;
  padding: 10px;
}

#pun-ulinks {
  margin: auto;
  width: fit-content;
}

#pun-ulinks .container {
  padding: 2px 15px 2px 15px;
}

#pun-ulinks li, #pun-ulinks li a {
  display: inline;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  white-space: nowrap;
  padding: 0 0.3em 0 0.6em;
}

#pun-status .container {
  position: absolute;
  top: 47px;
  text-size-adjust: none;
  margin-left: 30px;
}

#pun-index tr .tcl h3 a {
  position: relative;
}

#pun-index tr .tcl h3 a::after {
  position: absolute;
  display: block;
  width: 80%;
  left: 10%;
  bottom: -40%;
  height: 3px;
  transform: scale(0);
}

#pun-index tr .tcl h3 a:hover::after {
  transform: scale(1);
}

#pun-viewforum div.icon {
  margin-right: 10px;
  margin-top: 2px;
  width: 10px;
  height: 10px;
  margin-bottom: 10px;
  position: relative;
}

#pun-viewforum tr.inew .newtext, #pun-viewforum .closedatafield, .stickytext {
  display: none;
}

.tclcon {
  word-wrap: break-word;
}

#pun-main div.catleft, #pun-main div.catright {
  display: none;
}

#pun-stats h2 span {
  height: 59px;
}

#pun td .modlist {
  display: none;
}

.lastedit {
  display: none;
}

#pun-navlinks #navawards {
  display: none;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

#pun-viewforum.punbb div.icon {
  margin-top: 0 !important;
}

.category .container thead {
  display: none;
}

#pun-viewtopic .post h3 {
  height: 20px;
}

#smilies-area {
  width: 450px!important;
}

#smilies-area img {
  padding: 1px!important;
}

#font-area, #size-area, #color-area, #spoiler-area, #table-area, #smilies-area, #image-area, #imageup-area, #imageattach-area, #keyboard-area, #video-area, #addition-area {
  position: absolute;
  right: 6px;
  top: 43px;
}

#font-area::-webkit-scrollbar, #pun-admain textarea::-webkit-scrollbar, .punbb textarea::-webkit-scrollbar {
  width: 5px;
}

.topic a.sharelink, div#pun-live-rusff {
  display: none;
}

#pun-index div.category h2, #pun-index #pun-stats h2 {
  margin-right: 40px;
}

#pun-index div.category h2 span, #pun-stats h2 span, #post-form h2 span {
  display: block!important;
}

#pun-stats {
  margin-top: 50px;
}

.podfor {
  box-sizing: border-box;
  padding: 15px;
}

.plinks {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  column-gap: 10px;
  padding-top: 10px;
}

.plinks a {
  padding: 2px 10px;
}

.punbb .post .post-author {
  float: left;
  position: sticky;
  top: 10px;
  overflow: hidden;
  z-index: 1;
  margin-bottom: 30px;
}

.punbb .post .post-author::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
}

.pa-author {
  padding-top: 10px;
  padding-bottom: 12px;
}

.pa-author a {
  max-width: 180px;
  margin: auto;
  width: fit-content;
  padding: 2px 10px 2px 10px;
}

.profile-wrap {
  display: flex;
  row-gap: 10px;
  flex-direction: column;
  width: 203px;
  margin: auto;
  box-sizing: border-box;
  padding: 10px 2px 10px 2px;
}

li.pa-title {
  max-width: 170px;
  align-self: center;
}

.punbb .pa-avatar img {
  max-width: 180px !important;
  margin-top: 0px;
}

.pa-fld1 {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  align-items: center;
}

.pa-fld3 {
  position: absolute;
  width: 230px;
  height: 100%;
  margin-left: -16px!important;
  z-index: -1;
}

.pa-fld3::before {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.pa-fld3 img {
  max-width: 230px;
  min-height: 100%;
}

.pa-fld-stat1 {
  display: flex;
  flex-direction: column;
}

.pa-fld-stat1 :nth-child(1) {
  order: 3;
}

.post-author .fand {
  max-width: 180px;
  margin: auto;
  width: fit-content;
  padding: 2px 10px 2px 10px;
}

.pa-fld-stat {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: nowrap;
  flex-direction: row;
}

.pa-fld-stat :nth-child(1) {
  order: 2;
}

.pa-fld-stat :nth-child(2) {
  order: 1;
}

.pa-fld-stat :nth-child(3) {
  order: 3;
}

.pa-posts, .pa-fld2, .pa-respect {
  display: flex;
}

.pa-posts, .pa-fld2 {
  gap: 8px;
}

.pa-respect {
  gap: 2px;
}

.pa-posts {
  flex-direction: row-reverse;
}

.pa-respect :nth-child(1) {
  order: 1;
}

.pa-respect :nth-child(2) {
  order: 2;
}

.pa-respect :nth-child(3) {
  order: 3;
}

.pa-respect a[href*="&v=1&cod"] img, .pa-respect a[href*="&v=0&cod"] img {
  visibility: hidden;
  height: 10px;
  width: 10px;
}

.pa-respect a[href*="&v=1&cod"] {
  margin-top: 1px;
}

.post-author .lz {
  width: 137px;
  align-self: center;
}

.post .post-author ul {
  position: relative;
}

.post-author .pa-online, .post-author:not(.online) .pa-author .acchide {
  position: absolute;
  display: inline-block !important;
  top: .25rem;
  right: .6rem;
  left: auto !important;
  height: .6rem !important;
  width: .6rem !important;
  margin: 0 0 0 -5px !important;
  padding: 0 !important;
  cursor: pointer;
}

.post-author .pa-online:hover strong, .post-author:has(.acchide:hover) .pa-last-visit, .post-author .pa-last-visit:hover {
  visibility: visible;
}

.post-author .pa-online strong, .post-author .pa-last-visit {
  position: absolute;
  display: inline-block !important;
  top: 16px;
  right: -6px;
  padding: 0 8px !important;
  min-height: 24px;
  white-space: nowrap;
  z-index: 10;
  visibility: hidden;
  cursor: text;
}

.post-author .pa-last-visit {
  top: 20px;
  right: 3px;
}

.post-author .pa-online strong:before, .post-author .pa-last-visit:before {
  position: absolute;
  width: 0;
  height: 0;
  right: 5px;
  top: -10px;
}

.topontop {
  position: absolute;
  margin-top: 245px!important;
  height: 33px;
}

.banners {
  width: 650px;
  position: absolute;
  height: 65px;
  overflow: auto;
  margin-top: -90px!important;
  margin-left: -5px!important;
}

.need-bottom-span {
  position: absolute;
  width: 280px;
  margin-left: 650px!important;
  margin-top: -95px!important;
}

.need-bottom-box {
  position: absolute;
  display: flex;
  width: 280px!important;
  margin-left: 650px!important;
  margin-top: -60px!important;
}

.need-bottom {
  width: 85px;
  height: 30px;
  display: flex;
  padding: 2px 10px 2px 2px;
  justify-content: center;
  align-items: center;
}

.need-bottom img {
  width: 80px!important;
}

.need-bottom a {
  width: 75px;
  position: absolute;
  word-break: break-all;
}

.punbb .user-avatar .avatar-image {
  height: 36px;
  width: 36px;
  float: left;
}

.punbb .user-avatar .isonline {
  width: 10px!important;
  height: 10px!important;
  display: block;
  position: absolute;
  top: -2px!important;
  right: -2px!important;
  z-index: 100;
}

#font-area, #size-area {
  right: unset !important;
  max-height: 300px!important;
  overflow: auto!important;
}

#pun-report .inner, #pun-reputation .inner, #pun-admin-award-form .inner {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  margin: -135px 0 0 -384px;
  width: 768px;
  z-index: 100;
}

#pun-admain textarea {
  width: 95%!important;
}

.go-up, .go-down {
  display: none;
  position: fixed;
  margin-left: 1030px!important;
  z-index: 9999;
  cursor: pointer;
  margin-bottom: 50px;
  height: 15px;
  width: 15px;
}

.go-up {
  bottom: 65%;
}

.go-down {
  bottom: 60%;
}

.fd, .nm {
  display: none;
}

.post.topicpost .charlist .charlist_item.charlist_title {
  cursor: pointer;
  padding-bottom: 5px;
}

.post.topicpost .charlist .charlist_item {
  cursor: pointer;
}

.post.topicpost .charlist ul {
  padding: 8px 12px;
  flex: 80% 0 0!important;
  box-sizing: border-box;
}

.post.topicpost .charlist li.active, .post.topicpost .charlist li.charlist_item.active {
  padding: 0px!important;
}

.post.topicpost .charlist li.charlist_item.active {
  padding: 2px 2px 2px 12px!important;
}

.post.topicpost .charlist .charlist_divider {
  display: block !important;
}

span.num_msg {
  position: absolute;
  margin-top: -35px!important;
  margin-left: 25px!important;
}

.pun-modal .modal-inner {
  max-width: 94%;
  height: auto;
  max-height: 44em;
  margin: 12% auto 0 !important;
  position: relative;
  z-index: 120000;
  overflow: hidden;
}

#form-buttons td {
  padding: 0 !important;
  cursor: pointer;
}

#form-buttons td img {
  height: 16px!important;
  width: 100%;
}

#form-buttons tr {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

td#button-image > b > p {
  z-index: 20;
  position: absolute;
  margin: -22px 0 0 30px!important;
}

td#button-files_rusff, td#button-graffiti_rusff, td#button-smile {
  display: none!important;
}

#viewprofile > div > ul > table > tbody > tr {
  display: flex;
  gap: 10px;
}

#profile-left {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

#profile-left li {
  margin: 0 !important;
}

#viewprofile li strong {
  display: block;
}

#profile-left li img {
  margin-top: 0px;
  max-width: 180px;
  max-height: 180px;
}

#profile-right {
  position: relative;
  right: 0px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: stretch;
  width: 110% !important;
  flex-basis: auto;
}

#profile-right li {
  margin: 3px !important;
  padding: 10px!important;
  flex: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#viewprofile li span {
  float: left;
  padding: 0.5em 1em;
}

#profile-right li strong {
  padding: 0 1px 1px !important;
}

#viewprofile #pa-invites {
  display: none!important;
}

#viewprofile #pa-fld1 {
  align-content: center!important;
}

#viewprofile #pa-fld2 {
  align-content: center!important;
}

#viewprofile #pa-posts {
  align-content: center!important;
}

#viewprofile #pa-email {
  align-content: center!important;
}

#viewprofile #pa-last-post, #viewprofile #pa-last-visit {
  align-content: center!important;
}

#viewprofile #pa-fld1 span, #viewprofile #pa-fld2 span {
  display: none;
}

#viewprofile #pa-fld2 {
  order: 1;
}

#viewprofile #pa-posts {
  order: 2;
}

#viewprofile #pa-email {
  order: 3;
}

#viewprofile #pa-last-post {
  order: 4;
}

#viewprofile #pa-last-visit {
  order: 5;
}

.anunt {
  width: 800px;
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}

.anunt_link, .sh-navbut {
  padding: 10px 35px 10px 35px;
}

.anunt_link:hover, .sh-navbut:hover, .sh-navbut:active {
  padding: 10px 35px 10px 35px;
}

.sh-navblock {
  position: relative;
}

.sh-navbut a {
  display: block;
}

.sh-nav {
  padding: 10px 0px;
  width: 260px;
  left: 0px;
  bottom: -160px;
  position: absolute;
  z-index: 0;
}

.navl {
  display: flex;
  flex-direction: column;
}

.sh-nav a {
  padding: 2px;
  margin-bottom: 5px;
  margin-left: 40px;
  width: 70%;
}

.sh-nav.show {
  z-index: 10;
}

#pun-title {
  height: 228px;
  width: 1000px;
}

#stylelist {
  position: absolute;
  width: 910px;
  column-gap: 10px;
  display: flex;
  z-index: 0;
  top: 31px;
  justify-content: flex-end;
}

#stylelist a {
  display: block;
  height: 15px;
  width: 15px;
  padding-bottom: 10px;
}

.hvStickerPackModal {
  padding: 25px 25px 15px!important;
}

.hvStickerPackModalTab {
  padding: 2px 15px!important;
}

.custom_tag_newsheader {
  display: flex;
  width: 100%;
  gap: 10px;
  margin: 0;
}

.custom_tag_newsdate > p, .custom_tag_newslabel > p {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  margin: 0;
}

.custom_tag_newsdate {
  flex: 0 0 85px;
}

.custom_tag_newslabel {
  flex: 1 1 auto;
  min-width: 0;
}

.custom_tag_newsauthor {
  position: relative;
  float: right;
  margin: 0 0 12px 12px;
  width: 180px;
  height: 180px;
}

.custom_tag_newsauthor::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.custom_tag_newsauthor img {
  position: relative;
  z-index: 0;
  width: 180px;
  height: 180px;
  display: block;
}

.custom_tag_newstext > p {
  margin: 0 0 16px;
}

.custom_tag_newstext ul {
  margin: 0;
  padding-left: 30px;
}

.custom_tag_newstext li {
  margin: 10px 0;
}

.custom_tag_person {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 10px;
  margin: 0;
}

.custom_tag_person img {
  width: 150px !important;
  height: 100px !important;
  display: block;
}

.custom_tag_nameperson {
  width: 150px;
  margin: auto;
}

.custom_tag_nameperson > p {
  margin: 0;
}

.custom_tag_newsadd {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
  margin: 0 0 10px;
}

.custom_tag_newsadd[alt="custom"] {
  flex-direction: column;
  align-items: center;
}

.custom_tag_newsadd[alt="custom"] .custom_tag_newsaddcontent > p {
  padding: 0 10px;
  margin: 0;
}

.custom_tag_newsadd .custom_tag_label[alt="persons"] {
  flex: 0 0 100%;
  padding-top: 5px;
}

.custom_tag_newsadd[alt="custom"] .custom_tag_label {
  width: 100%;
}

.custom_tag_newsadd .custom_tag_label > p {
  margin: 0;
}

.custom_tag_newsadd .custom_tag_label span {
  margin-left: 30px;
}

.custom_tag_person {
  flex: 1 1 160px;
  min-width: 160px;
  max-width: 100%;
  box-sizing: border-box;
}

.custom_tag_newsadd[alt="custom_img"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
  margin-bottom: 10px;
}

.custom_tag_newsadd[alt="custom_img"] .custom_tag_label {
  width: 100%;
}

.custom_tag_newsadd[alt="custom_img"] .custom_tag_label span {
  margin-left: 30px;
}

.custom_tag_newscustomimgwrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.custom_tag_newscustomfloatimg {
  float: left;
  width: 120px;
  height: 120px;
  margin: 2px 12px 2px 2px;
  position: relative;
}

.custom_tag_newscustomfloatimg::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
}

.custom_tag_newscustomfloatimg img {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 0;
}

.custom_tag_newsadd[alt="custom_img"] .custom_tag_newsaddcontent > p {
  box-sizing: border-box;
  margin: 0;
}

.custom_tag_newsaddcontent {
  flex: 0 0 100%;
  padding: 5px 10px;
  box-sizing: border-box;
  margin: 0;
}

.custom_tag_newsaddcontent > p {
  margin: 0;
}

.custom_tag_newsepisodewrap {
  display: flex;
  flex-direction: row;
  align-items: start;
  width: 100%;
  margin: 0 auto 20px;
  padding: 0 2px;
  gap: 10px;
  box-sizing: border-box;
}

.custom_tag_newsepisodewrap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto 20px;
  padding: 0 2px;
  gap: 10px;
  box-sizing: border-box;
}

.custom_tag_episodeheader {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: auto;
  max-width: 400px;
}

.custom_tag_episodeimage {
  position: relative;
  width: 400px;
  height: 250px;
}

.custom_tag_episodeimage::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
}

.custom_tag_episodeimage img {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 0;
}

.custom_tag_episodelabel > p {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}

.custom_tag_episodesubtitle > p {
  display: block;
  margin: 0;
}

.custom_tag_episodecontent {
  width: 100%;
}

.custom_tag_episodecontent > p {
  margin: 0 0 16px;
}

.custom_tag_episodequote > p {
  margin: 16px 0;
  padding: 10px;
}

@media (max-width: 680px) {
  .custom_tag_newsepisodewrap {
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
  }

  .custom_tag_episodeheader {
    align-items: center;
    width: 100%;
  }

  .custom_tag_episodeimage {
    width: 100% !important;
    max-width: 400px !important;
    height: auto !important;
  }

  .custom_tag_episodelabel > p, .custom_tag_episodesubtitle > p {
    width: 95% !important;
    max-width: 384px;
  }

  .custom_tag_episodesubtitle > p {
    margin-top: -10px;
  }

  .custom_tag_episodecontent {
    width: 100% !important;
    margin-top: -10px;
  }
}

.custom_tag_newsheader > p, .custom_tag_newswrap > p, .custom_tag_newsadd > p, .custom_tag_newscustomimgwrap > p, .custom_tag_newsepisodewrap > p, .custom_tag_person > p {
  margin: 0;
  padding: 0;
  display: block;
}

@media only screen and (max-width: 720px) {
  html, body, #pun, .punbb, #pun-crumbs1, .punbb .category .container {
    width: 100%!important;
  }

  body {
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overflow-y: auto !important;
  }

  #pun-index {
    overflow: hidden!important;
  }

  .block3 a::after {
    display: none;
  }

  .block3 a {
    margin-top: -15px!important;
  }

  #pun-navlinks .container {
    column-gap: 10px;
    width: 100%;
    display: flex;
    margin-top: -260px;
    position: absolute;
    justify-content: center;
  }

  #pun-title {
    width: 100%;
  }

  #pun-title.section {
    height: 228px !important;
    overflow: hidden;
  }

  #pun-status .container {
    width: fit-content;
    padding: 2px 10px 2px 10px;
    position: absolute;
    top: 170px;
    margin: auto;
    right: 0;
    left: 0;
    text-size-adjust: none;
  }

  #stylelist {
    width: 90%;
    top: 260px;
    justify-content: center;
    column-gap: 40px;
  }

  .punbb .category .container tr {
    margin-bottom: 10px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .punbb .main .tcr {
    width: 70%!important;
    align-self: flex-end;
  }

  #pun-index .user-avatar {
    display: none;
  }

  .plinks {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    row-gap: 5px;
    padding-top: 10px;
    align-items: stretch;
    flex-wrap: wrap;
  }

  .punbb .linksb {
    flex-direction: column-reverse;
    gap: 3px;
    align-items: flex-end;
  }

  .pl-delete a::before, .pl-edit a::before, .pl-quote a::before, .pl-email.profile a::before, .pl-email.pm a::before {
    margin-left: -15px;
  }

  .underpost {
    gap: 5px;
  }

  .punbb .post-body {
    margin-left: 0px!important;
  }

  .punbb .post .post-author {
    float: none;
  }

  #pun-main .post-author ul {
    display: grid;
    grid-template-columns: 50px auto;
    grid-template-rows: 20px 30px;
    align-content: center;
    justify-items: start;
    grid-auto-flow: row dense;
  }

  .pa-fld1 {
    display: block;
    padding-top: 10px;
  }

  .fand {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 150px;
  }

  .pa-fld-stat {
    display: none;
  }

  .pa-fld3, .post-author .lz, li.pa-title {
    display: none;
  }

  .punbb .pa-avatar img {
    max-width: 40px !important;
    min-height: 40px;
  }

  .profile-wrap {
    display: block;
    width: 50px!important;
    grid-row: span 2;
    grid-row-start: 1;
    grid-row-end: 3;
  }

  #form-buttons tr {
    justify-content: flex-start;
    gap: 10px;
  }

  #viewprofile > div > ul > table > tbody > tr {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
  }

  #profile-left {
    width: 107%!important;
  }
}

/* DOS logo composition */

#dos-logo-overlay {
  display: none;
}

@media only screen and (min-width: 721px) {
  #pun-title.section {
    position: relative;
    width: var(--pun-width);
    max-width: 100%;
    height: 303px !important;
    box-sizing: border-box;
    overflow: hidden;
  }

  #pun-title.section .container {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    box-sizing: border-box;
  }

  #pun-title.section > #dos-logo-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
  }

  #dos-logo-wordmark {
    position: absolute;
    top: 14px;
    left: 38px;
    z-index: 1;
    margin: 0;
    padding: 0;
  }

  #dos-logo-fish {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 1000px;
    height: 304px;
  }
}

/* Theme switcher geometry */

#stylelist {
  margin: 0;
  padding: 0;
  list-style: none;
}

#stylelist li {
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#stylelist a {
  width: 24px;
  height: 24px;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (min-width: 721px) {
  #stylelist {
    left: 50%;
    right: auto;
    width: var(--pun-width);
    max-width: 100%;
    box-sizing: border-box;
    justify-content: flex-end;
    transform: translateX(-50%);
  }
}

html, body {
  margin: 0;
  padding: 0;
}

.punbb * {
  margin: 0;
}

.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;
}

body {
  width: 100%;
}

#pun:after, .punbb .container:after, .punbb .post-links ul:after, .punbb .main div.inline:after, .punbb .post-box:after, .punbb .linksb:after {
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}

.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 {
  height: 0;
  width: 0;
  position: absolute;
  left: -9999px;
  overflow: hidden;
}

#pun {
  margin: 60px auto auto auto;
  width: 1000px;
}

.punbb {
  float: none;
  height: auto;
}

#pun-redirect, #pun-maint {
  margin: 12px 20% 12px 20%;
  width: auto;
  float: none;
}

.punbb .section, .punbb .main {
  margin-bottom: 1em;
}

.punbb .category, .punbb .post {
  margin-top: 0.4em;
}

.punbb .category {
  padding-bottom: 40px;
}

.punbb #pun-category1, .punbb .toppost, .punbb .topicpost {
  margin-top: 0;
}

#pun-post .topic {
  margin-top: 1em;
}

.punbb .section h2, #pun-main h2, #pun-stats h2, #pun-debug h2 {
  padding: 1em 0em 1em 0em;
}

.punbb .post-content {
  padding: 0;
  margin: 0;
  width: 98%;
  overflow: hidden;
}

.punbb .post-sig dt {
  display: block;
  width: 60%;
  margin-left: 120px;
  padding-bottom: 5px;
}

.punbb .post-content img {
  vertical-align: text-bottom;
}

.qc-post-link > a > img {
  padding-left: 5px;
  padding-bottom: 3px;
  height: 12px;
}

.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: 1em 1em 1em 1em;
  padding: 10px 15px 10px 15px;
}

.punbb .quote-box cite, .punbb .code-box strong.legend {
  display: block;
  padding: 5px 8px 8px 18px;
  width: 60%;
  margin-bottom: 20px;
}

.punbb .info-box {
  padding: 1.1em 1.7em 1em 1.7em;
  margin: 0 0 1.1em 0;
}

.punbb .info-box * {
  padding: 0 0 0.7em 0;
}

.multipage {
  margin-top: 1em;
}

.linkst .postlink {
  position: absolute;
  top: -4em;
  right: 1em;
  width: 16em;
  display: none;
}

.postlink.long {
  width: 30em;
}

.punbb .formal .container {
  padding: 1.7em 2em 1.1em 1em;
}

.punbb .formsubmit input, .punbb .formsubmit a, .punbb .formsubmit span {
  margin: 0 0.6em 0 0;
}

.punbb fieldset {
  padding: 0 18px 0 18px;
  margin: 0 0 1em 0;
}

.punbb fieldset legend {
  padding-bottom: 20px;
}

.punbb fieldset legend span {
  display: none;
}

.punbb fieldset fieldset {
  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 .areafield span.input, .punbb p.longinput span.input {
  display: block;
  padding: 0 12em 0 0;
  height: 100%;
}

.punbb .hashelp {
  position: relative;
}

.punbb .helplinks {
  display: block;
  position: absolute;
  top: 1em;
  right: 0;
  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;
  margin: 0;
}

.punbb .main .tcl {
  overflow: hidden;
}

#pun-index .tc2, #pun-index .tc3 {
  display: none;
}

.punbb .main .tcr {
  overflow: hidden;
  width: 24%;
}

#pun-index .tcr {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#pun-userlist .main .tcl, #pun-searchtopics .main .tcl, #pun-modviewforum .main .tcl {
  width: 40%;
}

#pun-userlist .main .tc2, #pun-searchtopics .main .tc2 {
  width: 20%;
}

#pun-debug table .tcl {
  width: 15%;
  white-space: normal;
}

#pun-debug .tcr {
  width: 90%;
  white-space: normal;
}

#pun-index tr.inew .tcl h3 {
  padding: 5px;
}

.punbb td span.youposted {
  margin-left: -1em;
  position: absolute;
}

.punbb td .modlist {
  display: block;
  padding-top: 0.3em;
}

.punbb .main td {
  padding: 15px;
}

.punbb .main th {
  padding: 0.4em 1em 0.4em 1em;
}

* html .tclcon {
  height: 1px;
}

.punbb div.icon {
  float: left;
}

#pun-messages.punbb div.icon {
  margin-top: 0px!important;
  margin-left: -10px!important;
  width: 5px;
  height: 5px;
}

#pun-messages.punbb div.icon.inew {
  width: 5px;
  height: 5px;
}

.punbb .post .post-author ul, .punbb .post .post-author p {
  padding: 0em 1em 1em 1em;
}

.punbb .post-body {
  margin-left: 226px;
  padding: 0 0 1px 0;
}

.punbb .post-box {
  padding: 14px 0px 5px 15px;
}

.punbb fieldset .post-box {
  margin-bottom: 0.8em;
}

.punbb .post-links {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
}

.punbb .clearer {
  clear: both;
  height: 0;
}

.punbb .modmenu .container {
  padding: 1em 1em;
}

.punbb .modmenu strong, .punbb .modmenu a {
  height: 1.8em;
}

.punbb .modmenu .container strong {
  float: left;
}

.punbb .modmenu input {
  margin-left: 1em;
}

.punbb .info .container {
  padding: 0.8em 1em;
}

.punbb .info .container .backlink {
  padding-top: 0.8em;
}

#viewprofile h2, #profilenav h2 {
  padding: 0 0 0 0;
  margin: 0 14px -0.6em 14px;
}

#viewprofile h2 span, #profilenav h2 span {
  padding: 0 5px;
  position: relative;
}

#viewprofile li, #setmods dl {
  padding: 0 0 0 16em;
  margin-bottom: 0.2em;
}

#viewprofile li span {
  float: left;
  padding: 0.5em 1em;
}

#setmods dt {
  float: left;
  width: 14em;
  margin-left: -16em;
  padding: 0.8em 1em;
  display: inline;
}

.punbb img.avatardemo {
  float: right;
  margin: 0 0 0.8em 1.8em;
}

#pun-userlist .formal, #pun-userlist .formal .container {
  margin-bottom: 0;
}

#pun-userlist .usertable .container {
  padding: 0 2.3em 2.3em 2.3em;
}

#pun-title h1 {
  display: block;
}

#pun-title h1 span {
  display: none;
}

#pun-pagelinks {
  position: absolute;
  top: 55px;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
}

#pun-pagelinks .container {
  padding: 0;
}

#pun-pagelinks .container li {
  display: inline;
}

#pun-pagelinks li a, #pun-pagelinks a:link, #pun-pagelinks a:hover {
  height: 2em;
  padding: 0;
  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;
}

#pun-navlinks .container {
  padding: 0.2em 1em;
  padding-top: 0px;
}

#pun-navlinks li {
  display: block;
  padding-right: 1em;
}

#pun-ulinks li.item1, #pun-ulinks li.item1 a {
  padding-left: 0;
}

#pun-status, #pun-status .container {
  margin-bottom: 0;
}

#pun-status span {
  white-space: nowrap;
  margin-right: 0.5em;
}

#pun-break1 {
  margin: 0 1em;
  height: 0;
  margin: 0px 1em;
  position: relative;
  z-index: 1;
}

#pun-announcement h2 {
  padding: 0;
  position: relative;
}

#pun-announcement h2 span {
  display: none;
}

#pun-stats .container {
  padding: 0.8em 1em;
  display: flex;
  position: relative;
  z-index: 10;
  margin-top: -60px;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

#pun-stats li.item1, #pun-stats li.item2, #pun-stats li.item3, #pun-stats li.item4 {
  display: inline !important;
  padding: 5px 15px 5px 15px;
}

li#onlinelist {
  margin-top: 1em;
  float: left;
  width: 100%;
}

li#onlinelist div {
  padding: 0.7em 0 0 0;
}

#pun-qjump {
  margin: 0;
  width: 50%;
  position: relative;
  float: left;
}

#pun-qjump .container {
  padding: 0.8em 1em;
}

#pun-about {
  margin-top: 0;
  margin-bottom: 0;
}

#pun-about p span {
  display: flex;
  column-gap: 2px;
  -webkit-text-size-adjust: none;
  justify-content: center;
}

#pun-crumbs2 {
  overflow: hidden;
  margin-bottom: 0;
  padding-bottom: 60px;
  padding-left: 10px;
}

#pun-crumbs2 .container {
  padding: 0.8em 1em;
}

#pun-break4 {
  margin: -60px 1em;
  position: relative;
  height: 0;
  z-index: 1;
}

#pun-help .formal .info-box h3.legend {
  padding-bottom: 0;
  margin-bottom: 0.8em;
}

#pun-help .formal .info-box h3.legend span {
  padding-bottom: 0.6em;
  display: block;
}

#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;
}

#pun-help .formal li * {
  vertical-align: text-top;
}

#pun-help .formal .parsedmsg, #pun-help .formal .parsedmsg .incode {
  padding-bottom: 0;
}

.tooltip {
  position: relative;
  display: inline;
}

.tooltip em {
  display: inline;
  transform: scale(0);
  left: -125px !important;
  padding: 5px;
  position: absolute;
  overflow-y: hidden;
  width: 150px;
  top: 16px;
}

.tooltip:hover em {
  top: 16px;
  left: -125px !important;
  padding: 5px;
  position: absolute;
  overflow-y: hidden;
  width: 150px;
  z-index: 99;
  transform: scale(1);
}

.noNull:before {
  display: inline-block;
  margin-left: -6px;
  margin-top: 0px;
  position: absolute;
}

div .post-rating p>a {
  position: relative;
  z-index: 100;
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
}

div.post-vote p>a {
  position: absolute;
  cursor: pointer;
  z-index: 200;
  width: 22px;
  height: 22px;
  display: block;
}

.post-rating, .post-vote {
  float: right;
}

/* Agreed Figma layout */

#pun,
.punbb {
  width: var(--pun-width);
  max-width: 100%;
  box-sizing: border-box;
}

#pun-navlinks,
#pun-ulinks {
  width: var(--pun-width);
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}

#pun-navlinks {
  height: var(--navlinks-height);
}

#pun-ulinks {
  height: var(--ulinks-height);
}

#pun-navlinks .container,
#pun-ulinks .container {
  position: static;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

#pun-navlinks .container {
  height: var(--navlinks-height);
  padding: 0 20px;
}

#pun-ulinks .container {
  height: var(--ulinks-height);
  padding: 0 15px;
}

#pun-navlinks ul,
#pun-ulinks ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

#pun-navlinks a {
  width: auto;
  height: auto;
  padding: 0;
}

.punbb .post .post-author {
  width: var(--profile-width);
  box-sizing: border-box;
}

.profile-wrap {
  width: 100%;
  box-sizing: border-box;
}

@media only screen and (max-width: 720px) {
  #pun,
  .punbb,
  #pun-navlinks,
  #pun-ulinks {
    width: 100%;
  }

  #pun-navlinks,
  #pun-ulinks,
  #pun-navlinks .container,
  #pun-ulinks .container {
    height: auto;
    min-height: var(--ulinks-height);
  }

  #pun-navlinks .container,
  #pun-ulinks .container {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  #pun-navlinks ul {
    gap: 10px;
  }

  #pun-navlinks li {
    width: 28px;
    height: 28px;
    padding: 0;
    flex: 0 0 28px;
  }

  #pun-navlinks a,
  #navpr_1 a {
    width: 28px;
    height: 28px;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* Category, statistics and quick-reply heading geometry */

#pun-index #pun-stats > h2,
#pun-viewtopic #post-form > h2 {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  height: var(--section-heading-height);
  min-height: var(--section-heading-height);
  margin: 0;
  padding: 0 var(--section-heading-padding);
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}

#pun-index #pun-stats > h2 span,
#pun-viewtopic #post-form > h2 span {
  display: block !important;
  width: 100%;
  height: auto;
  margin: 0;
  overflow: visible;
  line-height: var(--section-heading-height) !important;
  text-align: right;
}

#pun-index div.category > h2 {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  height: var(--section-heading-height);
  min-height: var(--section-heading-height);
  margin: 0 !important;
  padding: 0 var(--section-heading-padding);
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
}

#pun-index div.category > h2 span {
  display: block !important;
  width: 100%;
  height: auto;
  margin: 0;
  overflow: visible;
  line-height: var(--section-heading-height) !important;
  text-align: right;
}

/* Forum list geometry */

#pun-index .category table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

#pun-index div.category > .container {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: calc(100% - 20px);
  margin: -14px 10px 20px;
  padding: 10px;
  overflow: hidden;
}

#pun-index .category table::after {
  display: none;
}

#pun-index .category .container td {
  box-sizing: border-box;
  padding: 10px;
}

#pun-index .category .container .tcl {
  width: 76%;
}

#pun-index .category .container .tcr {
  width: 24%;
}

#pun-index .podfor {
  box-sizing: border-box;
  padding: 6px 0 0;
}

/* DOS minimal layout v1 — 2026-08-04 */
html, body { min-width: 0; width: 100%; }
body { margin: 0; overflow-x: hidden; }

.punbb, #pun {
  width: min(var(--punwidth), calc(100% - (var(--punpadding) * 2)));
  max-width: 1120px;
  min-width: 0;
  margin-inline: auto;
  box-sizing: border-box;
}

.punbb *, .punbb *::before, .punbb *::after { box-sizing: border-box; }
.punbb img, .punbb iframe, .punbb video, .punbb table,
.punbb textarea, .punbb input, .punbb select { max-width: 100%; }
.punbb .section, .punbb .main, .punbb .category,
.punbb .post, .punbb .container { min-width: 0; }

/* One category = one continuous canvas. */
#pun-index div.category {
  margin: 0 0 var(--sectiongap);
  overflow: hidden;
  border: var(--punborder);
  border-radius: var(--punradius);
}

#pun-index div.category > h2 {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 20px;
  min-height: 20px;
  margin: 0 !important;
  padding: 0 var(--punpadding);
  align-items: center;
  overflow: hidden;
}

#pun-index div.category > h2 span {
  width: 100%;
  height: auto;
  margin: 0;
  overflow: hidden;
  line-height: 20px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#pun-index div.category > .container {
  width: 100%;
  margin: 0;
  padding: var(--rowgap) var(--punpadding);
  overflow: hidden;
  border: 0;
  border-radius: 0;
}

#pun-index .category table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}

#pun-index .category .container tr,
#pun-index .category .container tr.inew { outline: 0; clip-path: none; }
#pun-index .category .container td { padding: var(--punpadding); vertical-align: middle; }
#pun-index .category .container .tcl { width: 72%; }
#pun-index .category .container .tcr { width: 28%; }
#pun-index .category .container tr:last-child td { border-bottom: 0; }

/* Viewforum: topics are separate bordered rows. */
#pun-viewforum .main .container,
#pun-searchtopics .main .container,
#pun-messages .main .container {
  overflow: visible;
  background: transparent;
  border: 0;
}

#pun-viewforum .main table,
#pun-searchtopics .main table,
#pun-messages .main table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 var(--rowgap);
  table-layout: fixed;
}

#pun-viewforum .main tbody tr td,
#pun-searchtopics .main tbody tr td,
#pun-messages .main tbody tr td {
  padding: var(--punpadding);
  border-top: var(--punborder);
  border-bottom: var(--punborder);
  vertical-align: middle;
}

#pun-viewforum .main tbody tr td:first-child,
#pun-searchtopics .main tbody tr td:first-child,
#pun-messages .main tbody tr td:first-child {
  border-left: var(--punborder);
  border-radius: var(--punradius) 0 0 var(--punradius);
}

#pun-viewforum .main tbody tr td:last-child,
#pun-searchtopics .main tbody tr td:last-child,
#pun-messages .main tbody tr td:last-child {
  border-right: var(--punborder);
  border-radius: 0 var(--punradius) var(--punradius) 0;
}

#pun-viewforum div.icon,
#pun-searchtopics div.icon,
#pun-messages div.icon {
  width: var(--iconsize);
  height: var(--iconsize);
  min-width: var(--iconsize);
  margin: 0 var(--punpadding) 0 0;
  border-radius: var(--punradius);
}

/* Viewtopic: 12px date/number strip + a separate post card. */
#pun-viewtopic .post { margin: 0 0 var(--sectiongap); }
#pun-viewtopic .post > h3, #pun-viewtopic .post h3 {
  display: flex;
  width: 100%;
  height: 12px;
  min-height: 12px;
  margin: 0;
  padding: 0 8px;
  align-items: center;
  overflow: hidden;
  border-radius: var(--punradius) var(--punradius) 0 0;
}

#pun-viewtopic .post h3 span {
  display: flex;
  width: 100%;
  height: 12px;
  padding: 0;
  align-items: center;
  justify-content: space-between;
  line-height: 12px;
  white-space: nowrap;
}

#pun-viewtopic .post h3 strong { margin-left: auto; float: none; }
#pun-viewtopic .post > .container, #pun-viewtopic .post .container {
  display: grid;
  grid-template-columns: minmax(150px, var(--profilewidth)) minmax(0, 1fr);
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: var(--punborder);
  border-top: 0;
  border-radius: 0 0 var(--punradius) var(--punradius);
}

#pun-viewtopic .post .post-author {
  position: relative;
  width: auto;
  min-width: 0;
  padding: var(--punpadding);
}

#pun-viewtopic .post .post-body {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: var(--punpadding);
}

#pun-viewtopic .post .post-box, #pun-viewtopic .post .post-content {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

#pun-viewtopic .post-content pre,
#pun-viewtopic .post-content .code-box,
#pun-viewtopic .post-content .scrollbox { max-width: 100%; overflow: auto; }

@media only screen and (max-width: 720px) {
  .punbb, #pun { width: calc(100% - (var(--mobilepadding) * 2)); }
  #pun-index div.category > .container { padding: calc(var(--punpadding) / 2) var(--mobilepadding); }
  #pun-index .category .container td { padding: var(--mobilepadding); }
  #pun-index .category .container .tcl { width: 100%; }
  #pun-index .category .container .tcr,
  #pun-viewforum .main .tc2, #pun-viewforum .main .tc3,
  #pun-searchtopics .main .tc2, #pun-searchtopics .main .tc3 { display: none !important; }
  #pun-viewtopic .post > .container, #pun-viewtopic .post .container { display: block; }
  #pun-viewtopic .post .post-author {
    width: 100%;
    min-height: 0;
    border-right: 0;
    border-bottom: var(--punborder);
  }
  #pun-viewtopic .post .post-body { width: 100%; }
  .punbb .linkst, .punbb .linksb, .punbb .post-links ul, .upperwrap {
    width: 100%;
    margin-inline: 0;
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 420px) {
  #pun-index .category .container td,
  #pun-viewforum .main tbody tr td,
  #pun-searchtopics .main tbody tr td,
  #pun-messages .main tbody tr td,
  #pun-viewtopic .post .post-author,
  #pun-viewtopic .post .post-body { padding: var(--mobilepadding); }
  #pun-viewforum .main .tcr,
  #pun-searchtopics .main .tcr,
  #pun-messages .main .tcr { width: 30%; font-size: 9px; }
}

/* Post composition v2 — profile beside a single headed message card. */
#pun-viewtopic .post {
  display: grid;
  grid-template-columns: minmax(150px, var(--profilewidth)) minmax(0, 1fr);
  grid-template-rows: 12px auto;
  column-gap: var(--postgap);
  align-items: start;
}

#pun-viewtopic .post > h3,
#pun-viewtopic .post h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  margin: 0;
  border-radius: var(--punradius) var(--punradius) 0 0;
}

#pun-viewtopic .post > .container,
#pun-viewtopic .post .container {
  display: contents;
}

#pun-viewtopic .post .post-author {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  float: none;
  position: sticky;
  top: var(--poststickyoffset);
  width: 100%;
  max-width: 100%;
  min-height: var(--profileminheight);
  margin: 0;
  overflow: hidden;
  border: var(--punborder);
  border-radius: var(--punradius);
}

#pun-viewtopic .post .post-body {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: var(--profileminheight);
  border: var(--punborder);
  border-top: 0;
  border-radius: 0 0 var(--punradius) var(--punradius);
}

@media only screen and (max-width: 720px) {
  #pun-viewtopic .post {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  #pun-viewtopic .post > h3,
  #pun-viewtopic .post h3 {
    order: 2;
    width: 100%;
  }

  #pun-viewtopic .post > .container,
  #pun-viewtopic .post .container {
    display: contents;
  }

  #pun-viewtopic .post .post-author {
    order: 1;
    position: static;
    width: 100%;
    min-height: 0;
    margin: 0 0 var(--rowgap);
    border: var(--punborder);
    border-radius: var(--punradius);
  }

  #pun-viewtopic .post .post-body {
    order: 3;
    width: 100%;
    height: auto;
    min-height: 0;
    border: var(--punborder);
    border-top: 0;
    border-radius: 0 0 var(--punradius) var(--punradius);
  }
}

/* Shell, message actions and mobile last-post recovery — 2026-08-04. */
#pun {
  padding-bottom: var(--punpadding);
}

#pun-index #pun-main {
  padding: 10px;
}

#pun-viewtopic .post {
  grid-template-rows: 12px auto auto;
}

#pun-viewtopic .post .post-body {
  border-radius: 0;
}

#pun-viewtopic .post .post-links {
  grid-column: 2;
  grid-row: 3;
  position: static;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--mobilepadding) var(--punpadding);
  border: var(--punborder);
  border-top: 0;
  border-radius: 0 0 var(--punradius) var(--punradius);
}

/* Navigation tray with inverted top corners. */
#pun-navlinks {
  position: relative;
  width: calc(100% - 20px);
  max-width: none;
  height: auto;
  min-height: 34px;
  margin: 0 auto;
  overflow: visible;
  border-radius: 0 0 var(--punradius) var(--punradius);
}

#pun-navlinks::before,
#pun-navlinks::after {
  content: "";
  position: absolute;
  top: 0;
  width: var(--punradius);
  height: var(--punradius);
  background: var(--surface);
  pointer-events: none;
}

#pun-navlinks::before {
  left: 0;
  border-radius: 0 0 var(--punradius) 0;
}

#pun-navlinks::after {
  right: 0;
  border-radius: 0 0 0 var(--punradius);
}

#pun-navlinks .container {
  min-height: 34px;
  height: auto;
  padding: 4px var(--punpadding);
}

#pun-navlinks ul {
  gap: 5px;
}

#pun-navlinks li,
#pun-navlinks a,
#navpr_1 a {
  width: auto;
  height: auto;
}

#pun-navlinks a,
#navpr_1 a {
  display: flex;
  min-height: 24px;
  padding: 3px 9px;
  align-items: center;
  justify-content: center;
  border: var(--buttonborder);
  border-radius: var(--punradius);
}

@media only screen and (max-width: 720px) {
  #pun-index #pun-main {
    padding: 10px;
  }

  #pun-index .category .container .tcr {
    display: table-cell !important;
    width: 32%;
    min-width: 88px;
    padding-left: var(--mobilepadding);
  }

  #pun-index .category .container .tcl {
    width: 68%;
  }

  #pun-viewtopic .post .post-links {
    order: 4;
    width: 100%;
    margin: 0;
    padding: var(--mobilepadding);
    border: var(--punborder);
    border-top: 0;
    border-radius: 0 0 var(--punradius) var(--punradius);
  }

  #pun-navlinks {
    width: calc(100% - 20px);
    min-height: 36px;
  }

  #pun-navlinks .container {
    min-height: 36px;
    padding: 4px var(--mobilepadding);
  }

  #pun-navlinks li {
    width: auto;
    height: auto;
    flex: 0 0 auto;
  }

  #pun-navlinks a,
  #navpr_1 a {
    width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
  }
}
