/*
 * CHVMBERS — Sacred Disturbance
 * phpBB 3.3 child style, inheriting prosilver.
 */

@import url("../../prosilver/theme/stylesheet.css");
@import url("https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@400;500;600;700&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap");

:root {
  --chv-black: #0a0a09;
  --chv-ink: #151412;
  --chv-graphite: #292826;
  --chv-smoke: #6d6963;
  --chv-line: #aaa399;
  --chv-paper: #e9e3d8;
  --chv-bone: #f4efe5;
  --chv-white: #fffdf7;
  --chv-red: #721d24;
  --chv-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --chv-condensed: "Archivo Narrow", "Arial Narrow", Arial, sans-serif;
  --chv-sans: "DM Sans", Arial, sans-serif;
  --chv-max: 1440px;
}

* { box-sizing: border-box; }

html { background: var(--chv-black); font-size: 16px; }

body {
  margin: 0;
  padding: 0;
  color: var(--chv-ink);
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.035), transparent 24rem),
    var(--chv-black);
  background-size: 100% 5px, auto, auto;
  font: 400 15px/1.55 var(--chv-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: .2;
  background:
    repeating-radial-gradient(circle at 17% 31%, rgba(255,255,255,.16) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(93deg, transparent 0 7px, rgba(255,255,255,.035) 8px, transparent 9px 17px);
  background-size: 113px 97px, 181px 100%;
  mix-blend-mode: soft-light;
}

a { color: inherit; text-decoration-color: var(--chv-line); text-underline-offset: .22em; }
a:hover { color: var(--chv-red); text-decoration-color: currentColor; }

.wrap {
  width: min(calc(100% - 48px), var(--chv-max));
  margin: 0 auto;
  padding: 0 0 72px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

/* Header / masthead */
.headerbar {
  position: relative;
  min-height: 265px;
  margin: 0;
  padding: 34px 42px 38px;
  color: var(--chv-bone);
  background: var(--chv-black);
  border: 0;
  border-bottom: 1px solid var(--chv-bone);
  border-radius: 0;
  overflow: hidden;
}

.headerbar::before {
  content: "CHVMBERS";
  position: absolute;
  right: -9px;
  bottom: -32px;
  color: var(--chv-bone);
  font: 700 clamp(5.6rem, 16vw, 14rem)/.72 var(--chv-serif);
  letter-spacing: -.085em;
  white-space: nowrap;
  opacity: .98;
}

.headerbar::after {
  content: "SACRED DISTURBANCE  /  MUSIC · FASHION · FILM · AFTER DARK";
  position: absolute;
  top: 35px;
  right: 42px;
  color: var(--chv-paper);
  font: 600 11px/1 var(--chv-sans);
  letter-spacing: .18em;
}

.site-description { position: relative; z-index: 2; width: auto; }
.site-description h1, .site-description p { color: var(--chv-bone); }
.site-description h1 {
  margin: 0;
  font: 700 13px/1 var(--chv-sans);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.site-description p {
  margin: 13px 0 0;
  font: italic 600 17px/1.2 var(--chv-serif);
}
.site_logo { display: none; }

.search-header {
  top: 92px;
  right: 42px;
  width: min(360px, 35vw);
  border-radius: 0;
  box-shadow: none;
}

.search-header .inputbox {
  height: 46px;
  padding: 0 14px;
  color: var(--chv-bone);
  background: rgba(255,255,255,.035);
  border: 1px solid #736f68;
  border-radius: 0;
}
.search-header .button { min-width: 46px; height: 46px; }

/* Main navigation */
.navbar {
  margin: 0;
  padding: 0 16px;
  color: var(--chv-bone);
  background: var(--chv-black);
  border: 0;
  border-bottom: 1px solid var(--chv-line);
  border-radius: 0;
}
.navbar ul { margin: 0; }
.nav-main > li, .nav-links > li { padding: 0; }
.navbar a, .navbar .dropdown-trigger {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0 12px;
  color: var(--chv-bone);
  font: 600 11px/1 var(--chv-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.navbar a:hover { color: var(--chv-white); background: var(--chv-red); text-decoration: none; }
.navbar .icon { color: inherit; }
.dropdown .pointer-inner { border-bottom-color: var(--chv-ink); }
.dropdown-contents {
  min-width: 240px;
  padding: 8px;
  color: var(--chv-bone);
  background: var(--chv-ink);
  border: 1px solid var(--chv-line);
  border-radius: 0;
  box-shadow: 10px 10px 0 rgba(0,0,0,.22);
}
.dropdown-contents a { width: 100%; }

/* Breadcrumbs and page title */
.nav-breadcrumbs { border-bottom: 1px solid var(--chv-line); }
.nav-breadcrumbs a { letter-spacing: .08em; }

#page-body { padding: 34px 0 0; }
.page-body h2, h2.solo, .panel h2 {
  color: var(--chv-ink);
  font: 700 clamp(2.3rem, 5vw, 5.7rem)/.92 var(--chv-serif);
  letter-spacing: -.05em;
  text-transform: uppercase;
}

/* Page-level category/forum titles sit directly on the black board canvas. */
#page-body > h2,
#page-body > h2 a,
#page-body h2.solo,
#page-body h2.solo a,
.page-body > h2,
.page-body > h2 a {
  color: var(--chv-bone) !important;
}

/* Keep all interactive titles legible inside black forum/topic sections. */
.forabg a.forumtitle,
.forabg a.topictitle,
.forumbg a.forumtitle,
.forumbg a.topictitle,
.forabg .lastpost a,
.forumbg .lastpost a {
  color: var(--chv-bone) !important;
}

.forabg a.forumtitle:hover,
.forabg a.topictitle:hover,
.forumbg a.forumtitle:hover,
.forumbg a.topictitle:hover,
.forabg .lastpost a:hover,
.forumbg .lastpost a:hover {
  color: var(--chv-white) !important;
  text-decoration-color: var(--chv-red);
}
h2.solo::before, .page-body > h2:first-child::before {
  content: "01 / FORUM";
  display: block;
  margin-bottom: 12px;
  color: var(--chv-smoke);
  font: 600 11px/1 var(--chv-sans);
  letter-spacing: .18em;
}

/* Forum index — editorial contents */
.forabg, .forumbg {
  margin: 0 0 24px;
  padding: 0;
  color: var(--chv-bone);
  background: var(--chv-black);
  border: 0;
  border-top: 4px solid var(--chv-black);
  border-radius: 0;
  box-shadow: none;
}
.forabg:nth-of-type(even) { color: var(--chv-bone); background: var(--chv-black); }
.forabg .inner, .forumbg .inner { margin: 0; }

.forabg .header, .forumbg .header {
  padding: 21px 24px 17px;
  color: inherit;
  background: transparent;
  border-bottom: 1px solid currentColor;
}
.forabg .header dl, .forumbg .header dl {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 100px 100px minmax(210px, 28%);
  width: 100%;
}
.forabg .header dt, .forumbg .header dt {
  float: none;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0 18px 0 0;
  border: 0;
}
.forabg .header .list-inner, .forumbg .header .list-inner {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0 !important;
}
.forabg .header a, .forumbg .header a {
  display: inline;
  color: inherit;
  font: 700 clamp(1.45rem, 3vw, 2.7rem)/1 var(--chv-serif);
  letter-spacing: -.035em;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
}
.forabg .header dt::before {
  content: "SECTION / ";
  font: 600 10px/1 var(--chv-sans);
  letter-spacing: .18em;
}
.forabg .header dd, .forumbg .header dd {
  color: inherit;
  font: 600 9px/1 var(--chv-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

ul.topiclist { margin: 0; }
ul.topiclist li { color: inherit; }
ul.topiclist li.row {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(233,227,216,.26);
  transition: background-color .16s ease, color .16s ease;
}
ul.topiclist li.row:last-child { border-bottom: 0; }
ul.topiclist li.row:hover { background: rgba(114,29,36,.28); }
.forabg:nth-of-type(even) li.row { border-bottom-color: rgba(233,227,216,.26); }
.forabg:nth-of-type(even) li.row:hover { background: rgba(114,29,36,.28); }

/* Neutralise prosilver's column widths and row colours before using our grid. */
.forabg ul.topiclist li.row,
.forumbg ul.topiclist li.row {
  color: var(--chv-bone) !important;
  background-color: var(--chv-black) !important;
  background-image: none !important;
}
.forabg ul.topiclist li.row:hover,
.forumbg ul.topiclist li.row:hover {
  background-color: #241315 !important;
}
.forabg ul.topiclist li.row dl,
.forumbg ul.topiclist li.row dl {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 100px 100px minmax(210px,28%);
  width: 100% !important;
}
.forabg ul.topiclist li.row dt,
.forumbg ul.topiclist li.row dt {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.forabg ul.topiclist li.row .list-inner,
.forumbg ul.topiclist li.row .list-inner {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 64px !important;
}
.forabg ul.topiclist li.row dd,
.forumbg ul.topiclist li.row dd {
  float: none !important;
  width: auto !important;
  min-height: 94px !important;
  margin: 0 !important;
  padding: 20px 18px !important;
  color: var(--chv-bone) !important;
  background: transparent !important;
}

ul.topiclist dl { display: grid; grid-template-columns: minmax(0,1fr) 100px 100px minmax(210px, 28%); }
ul.topiclist dt, ul.topiclist dd {
  width: auto;
  min-height: 94px;
  margin: 0;
  padding: 20px 18px;
  border-left: 1px solid rgba(233,227,216,.2);
}
ul.topiclist dt { border-left: 0; }
ul.topiclist dd { display: flex; align-items: center; justify-content: center; }
ul.topiclist dd.lastpost { display: block; }

.list-inner { padding-left: 64px !important; }
.forum-image + .list-inner { margin-left: 0; }
.forum_link, .forum_read, .forum_unread, .forum_read_locked, .forum_unread_locked,
.topic_read, .topic_unread, .topic_read_hot, .topic_unread_hot,
.sticky_read, .sticky_unread, .announce_read, .announce_unread {
  background-position: 18px 25px;
}
.forum_unread, .forum_unread_locked, .topic_unread, .topic_unread_hot, .sticky_unread, .announce_unread {
  box-shadow: inset 5px 0 0 var(--chv-red);
}

a.forumtitle, a.topictitle {
  color: inherit;
  font: 700 clamp(1.22rem, 2vw, 1.7rem)/1.15 var(--chv-serif);
  letter-spacing: -.025em;
}
a.forumtitle:hover, a.topictitle:hover { color: var(--chv-red); text-decoration: none; }
.forum-description, .topiclist .responsive-show, .topiclist dfn,
.forumlist_mods, .topiclist .lastpost, .topiclist dd {
  color: inherit;
  font-size: 12px;
  opacity: .76;
}
.subforums { margin-top: 10px; font-size: 11px; letter-spacing: .04em; }
.subforums strong { text-transform: uppercase; letter-spacing: .13em; }
.subforums a { display: inline-block; margin: 3px 8px 3px 0; text-decoration: underline; }

/* Topic states */
.topiclist .pagination, .pagination li a, .pagination li span {
  border-radius: 0;
}
.topiclist .pagination { margin-top: 7px; }
.topiclist .icon_topic_attach::before { color: var(--chv-red); }
.topiclist .row-item::after {
  display: inline-block;
  margin: 8px 5px 0 0;
  color: var(--chv-red);
  font: 700 9px/1 var(--chv-sans);
  letter-spacing: .13em;
}
.topic_unread::after, .topic_unread_hot::after { content: "UNREAD"; }
.sticky_unread::after, .sticky_read::after { content: "PINNED"; }
.announce_unread::after, .announce_read::after, .global_unread::after, .global_read::after { content: "ANNOUNCEMENT"; }
.topic_read_locked::after, .topic_unread_locked::after { content: "LOCKED"; }

/* Panels, statistics, notices */
.panel, .post, .bg1, .bg2, .bg3 {
  color: var(--chv-ink);
  background: var(--chv-bone);
  border-radius: 0;
}
.panel {
  margin: 0 0 22px;
  padding: 24px;
  border: 1px solid var(--chv-line);
}
.stat-block { margin: 34px 0 0; padding: 24px 0; border-top: 1px solid var(--chv-line); }
.stat-block h3 {
  color: var(--chv-bone);
  font: 700 12px/1 var(--chv-sans);
  letter-spacing: .17em;
  text-transform: uppercase;
  border: 0;
}
.stat-block p { color: var(--chv-paper); }
.rules, .rules .inner {
  color: var(--chv-bone);
  background: var(--chv-red);
  border: 0;
  border-radius: 0;
}
.rules a { color: var(--chv-white); }

/* Buttons, controls, focus */
.button, a.button1, input.button1, input.button3, a.button2, input.button2 {
  min-height: 44px;
  padding: 0 17px;
  color: var(--chv-black);
  background: var(--chv-bone);
  border: 1px solid var(--chv-black);
  border-radius: 0;
  box-shadow: none;
  font: 700 11px/1 var(--chv-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.button:hover, .button:focus, .button1:hover, .button2:hover {
  color: var(--chv-white);
  background: var(--chv-red);
  border-color: var(--chv-red);
  text-shadow: none;
}
.button-secondary { color: var(--chv-bone); background: transparent; border-color: var(--chv-bone); }
.inputbox, select, textarea {
  min-height: 44px;
  padding: 10px 12px;
  color: var(--chv-ink);
  background: var(--chv-white);
  border: 1px solid #79736b;
  border-radius: 0;
  font: 400 16px/1.4 var(--chv-sans);
}
textarea.inputbox { min-height: 220px; resize: vertical; }
.inputbox:hover, select:hover, textarea:hover { border-color: var(--chv-black); }
:focus-visible, .inputbox:focus, select:focus, textarea:focus {
  outline: 3px solid var(--chv-red);
  outline-offset: 2px;
  border-color: var(--chv-black);
}
label { font-weight: 600; }
fieldset.fields1 dt, fieldset.fields2 dt { font-size: 12px; letter-spacing: .05em; }

/* Pagination and action bars */
.action-bar { margin: 22px 0; }
.pagination { color: var(--chv-bone); font-size: 11px; }
.pagination li a, .pagination li span {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--chv-black);
  background: var(--chv-bone);
  border: 1px solid var(--chv-line);
}
.pagination li.active span, .pagination li a:hover { color: var(--chv-white); background: var(--chv-red); border-color: var(--chv-red); }

/* Individual posts */
.post {
  position: relative;
  margin: 0 0 28px;
  padding: 0;
  border: 1px solid var(--chv-line);
  overflow: visible;
}
.post::before {
  content: "TRANSMISSION";
  position: absolute;
  top: -17px;
  right: 0;
  color: var(--chv-paper);
  font: 600 9px/1 var(--chv-sans);
  letter-spacing: .17em;
}
.postbody {
  width: calc(100% - 260px);
  padding: 26px 30px 40px;
  color: var(--chv-ink);
}
.postbody h3 {
  margin: 0 0 10px;
  color: var(--chv-ink);
  font: 700 clamp(1.45rem, 2.7vw, 2.4rem)/1.08 var(--chv-serif);
  letter-spacing: -.03em;
  border: 0;
}
.postbody .content { color: var(--chv-ink); font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.postbody .content img, .postbody .content iframe, .postbody .content video { max-width: 100%; height: auto; }
.postprofile {
  width: 260px;
  min-height: 250px;
  margin: 0;
  padding: 28px 24px;
  color: var(--chv-bone);
  background: var(--chv-ink);
  border: 0;
  border-right: 1px solid var(--chv-line);
}
.postprofile strong, .postprofile a { color: var(--chv-bone); }
.postprofile .avatar img { border-radius: 0; filter: grayscale(100%); }
.postprofile dd, .postprofile dt { font-size: 11px; line-height: 1.55; }
.postprofile .username, .postprofile .username-coloured { font: 700 19px/1 var(--chv-serif); }
.post-buttons { top: 17px; right: 18px; }
.post-buttons .button { min-width: 40px; min-height: 40px; padding: 0 10px; }
.signature { margin-top: 34px; padding-top: 14px; color: var(--chv-smoke); border-top: 1px solid var(--chv-line); font-style: italic; }
.posthilit { color: var(--chv-white); background: var(--chv-red); }

blockquote {
  margin: 22px 0;
  padding: 18px 22px;
  color: var(--chv-ink);
  background: #ddd5c8;
  border: 0;
  border-left: 5px solid var(--chv-red);
  border-radius: 0;
  font: italic 600 16px/1.6 var(--chv-serif);
}
blockquote cite { display: block; margin-bottom: 7px; font: 700 10px/1 var(--chv-sans); letter-spacing: .12em; text-transform: uppercase; }
.codebox { padding: 16px; color: var(--chv-bone); background: var(--chv-ink); border: 1px solid var(--chv-line); border-radius: 0; }
.codebox code { color: var(--chv-paper); overflow-x: auto; }
.attachbox { background: #ddd5c8; border: 1px solid var(--chv-line); border-radius: 0; }

/* Composer, BBCode, smilies and polls */
#postingbox .inner, #message-box, #smiley-box { max-width: 100%; }
#message-box textarea { min-height: min(52vh, 520px); }
#format-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
#format-buttons .button2, #format-buttons select { margin: 0; min-width: 44px; }
#smiley-box img { margin: 4px; }
.tabs .tab > a, .minitabs .tab > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 0;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tabs .activetab > a, .minitabs .activetab > a { color: var(--chv-white); background: var(--chv-red); }
.polls dl { border-top-color: var(--chv-line); }
.pollbar1, .pollbar2, .pollbar3, .pollbar4, .pollbar5 { background: var(--chv-red); border: 0; border-radius: 0; }

/* Profiles, UCP, MCP and private messages */
#cp-menu { width: 250px; }
#cp-main { width: calc(100% - 275px); }
#navigation a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  color: var(--chv-bone);
  background: transparent;
  border-radius: 0;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#navigation #active-subsection a, #navigation a:hover { color: var(--chv-white); background: var(--chv-red); }
.cp-mini { color: var(--chv-bone); background: var(--chv-ink); border-radius: 0; }
.cp-mini h3, .cp-mini a { color: var(--chv-bone); }
.pm-marked-col { background-color: rgba(114,29,36,.18); }

/* Footer */
.page-footer { padding: 34px 0 calc(24px + env(safe-area-inset-bottom)); color: var(--chv-paper); border-top: 1px solid var(--chv-line); }
.page-footer::before {
  content: "THE CURIOUS, THE EXISTENTIAL AND THE OBSESSED";
  display: block;
  margin-bottom: 22px;
  color: var(--chv-bone);
  font: italic 600 clamp(1.5rem, 4vw, 3.7rem)/1 var(--chv-serif);
  letter-spacing: -.03em;
}
.copyright { color: var(--chv-smoke); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

/* Laptop */
@media (max-width: 1100px) {
  .wrap { width: min(calc(100% - 30px), var(--chv-max)); }
  ul.topiclist dl { grid-template-columns: minmax(0,1fr) 78px 78px minmax(180px, 26%); }
  .forabg ul.topiclist li.row dl, .forumbg ul.topiclist li.row dl { grid-template-columns: minmax(0,1fr) 78px 78px minmax(180px,26%); }
  .forabg .header dl, .forumbg .header dl { grid-template-columns: minmax(240px,1fr) 78px 78px minmax(180px,26%); }
  ul.topiclist dt, ul.topiclist dd { padding-left: 14px; padding-right: 14px; }
  .postprofile { width: 220px; }
  .postbody { width: calc(100% - 220px); }
}

/* Tablet portrait */
@media (max-width: 850px) {
  .wrap { width: 100%; padding-bottom: 48px; }
  .headerbar { min-height: 225px; padding: 28px 24px; }
  .headerbar::after { top: 29px; right: 24px; font-size: 9px; }
  .headerbar::before { bottom: -15px; font-size: clamp(5rem, 19vw, 9rem); }
  .search-header { top: 80px; right: 24px; width: min(360px, calc(100% - 48px)); }
  #page-body { padding: 26px 15px 0; }

  ul.topiclist dl { grid-template-columns: minmax(0,1fr) 72px 72px; }
  .forabg ul.topiclist li.row dl, .forumbg ul.topiclist li.row dl { grid-template-columns: minmax(0,1fr) 72px 72px; }
  .forabg .header dl, .forumbg .header dl { grid-template-columns: minmax(220px,1fr) 72px 72px; }
  ul.topiclist dd.lastpost { display: none; }
  ul.topiclist .header dd:last-child { display: none; }

  .postprofile {
    float: none;
    width: 100%;
    min-height: 0;
    padding: 15px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--chv-line);
  }
  .postprofile dt { display: flex; align-items: center; gap: 12px; }
  .postprofile .avatar { margin: 0; }
  .postprofile .avatar img { width: 48px; height: 48px; object-fit: cover; }
  .postprofile dd.profile-posts, .postprofile dd.profile-joined, .postprofile dd.profile-custom-field,
  .postprofile .profile-rank, .postprofile .profile-contact { display: none; }
  .postbody { float: none; width: 100%; padding: 24px 20px 34px; }

  #cp-menu { width: 100%; float: none; margin-bottom: 18px; }
  #cp-main { width: 100%; float: none; }
  #navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; }
}

/* Phones */
@media (max-width: 700px) {
  html { font-size: 15px; }
  .headerbar { min-height: 196px; padding: 24px 18px; }
  .headerbar::before { right: -4px; bottom: -6px; font-size: 20vw; }
  .headerbar::after { content: "SACRED DISTURBANCE"; top: 25px; right: 18px; letter-spacing: .13em; }
  .site-description p { font-size: 14px; }
  .search-header { top: 72px; right: 18px; width: calc(100% - 36px); }

  .navbar { padding: 0 8px; }
  .navbar a, .navbar .dropdown-trigger { min-height: 48px; padding: 0 10px; }
  .dropdown-contents { position: fixed; left: 10px !important; right: 10px !important; width: auto; max-height: 65vh; overflow-y: auto; }

  .forabg .header, .forumbg .header { padding: 17px 16px 14px; }
  .forabg .header dd, .forumbg .header dd { display: none; }
  .forabg .header dl, .forumbg .header dl { display: block; }
  .forabg .header dt, .forumbg .header dt { width: 100%; padding: 0; }
  ul.topiclist dl { display: block; }
  .forabg ul.topiclist li.row dl, .forumbg ul.topiclist li.row dl { display: block !important; }
  ul.topiclist dt { min-height: 88px; padding: 17px 14px; }
  ul.topiclist dd.posts, ul.topiclist dd.topics, ul.topiclist dd.views { display: none; }
  .list-inner { padding-left: 53px !important; }
  .forabg ul.topiclist li.row .list-inner, .forumbg ul.topiclist li.row .list-inner { padding-left: 53px !important; }
  .forum_link, .forum_read, .forum_unread, .forum_read_locked, .forum_unread_locked,
  .topic_read, .topic_unread, .topic_read_hot, .topic_unread_hot,
  .sticky_read, .sticky_unread, .announce_read, .announce_unread { background-position: 12px 22px; }
  a.forumtitle, a.topictitle { font-size: 1.2rem; }

  .action-bar { display: flex; flex-wrap: wrap; gap: 8px; }
  .action-bar .search-box { width: 100%; float: none; }
  .pagination { width: 100%; margin: 8px 0 0; float: none; text-align: left; }
  .pagination li a, .pagination li span { min-width: 40px; min-height: 40px; }

  .postbody { padding: 21px 16px 30px; }
  .postbody .content { font-size: 15px; line-height: 1.68; }
  .post-buttons { position: static; display: flex; justify-content: flex-end; padding: 8px 12px 0; }
  .postbody h3 { padding-right: 0; }

  fieldset.fields1 dt, fieldset.fields1 dd, fieldset.fields2 dt, fieldset.fields2 dd {
    float: none; width: 100%; margin: 0 0 7px;
  }
  #message-box, #smiley-box { float: none; width: 100%; }
  #smiley-box { max-height: 160px; overflow-y: auto; margin-top: 12px; }
  #message-box textarea { min-height: 48vh; }
  #format-buttons { max-height: 112px; overflow-y: auto; padding: 3px; }
  .panel { padding: 18px 15px; }
  .page-body h2, h2.solo, .panel h2 { font-size: clamp(2rem, 11vw, 3.3rem); overflow-wrap: anywhere; }
  #navigation ul { grid-template-columns: 1fr; }
}

/*
 * CHVMBERS 2.1 — single-canvas colour policy
 * The board owns one black background. Components add structure with spacing
 * and borders, never with additional white or coloured surfaces. Inline phpBB
 * user/group colours remain authoritative because these text rules do not use
 * !important on username colour declarations.
 */
html,
body,
.wrap,
.headerbar,
.navbar,
#page-body,
.page-body,
.forabg,
.forumbg,
.panel,
.post,
.bg1,
.bg2,
.bg3,
.cp-mini,
.dropdown-contents,
.rules,
.rules .inner,
.attachbox,
.codebox,
blockquote,
.tabs .tab > a,
.minitabs .tab > a {
  background-color: transparent !important;
  background-image: none !important;
}

html,
body {
  background-color: var(--chv-black) !important;
}

body,
#page-body,
.page-body,
.panel,
.post,
.postbody,
.postbody .content,
.postprofile,
.forabg,
.forumbg,
.topiclist,
.topiclist li,
.topiclist dt,
.topiclist dd,
.stat-block p,
.cp-mini,
.dropdown-contents,
.rules,
.attachbox,
.codebox,
blockquote,
fieldset,
label,
legend,
dd,
dt,
p,
li {
  color: var(--chv-bone);
}

h1,
h2,
h3,
h4,
h5,
h6,
.panel h2,
.postbody h3,
.postbody h3 a,
.content,
.content p,
.content li,
.signature,
.copyright,
.forum-description,
.forumlist_mods,
.topiclist .lastpost,
.topiclist dd {
  color: var(--chv-bone) !important;
}

/* Normal links are white; inline group/user colours can still override this. */
a,
.panel a,
.post a,
.postprofile a,
.cp-mini a,
.dropdown-contents a,
.navbar a {
  color: var(--chv-bone);
}

a:hover,
.panel a:hover,
.post a:hover {
  color: var(--chv-white);
}

.forabg ul.topiclist li.row,
.forumbg ul.topiclist li.row,
.forabg ul.topiclist li.row:hover,
.forumbg ul.topiclist li.row:hover {
  background-color: transparent !important;
  background-image: none !important;
}

.inputbox,
input,
select,
textarea,
.button,
a.button1,
input.button1,
input.button2,
input.button3,
a.button2,
.button-secondary,
.pagination li a,
.pagination li span {
  color: var(--chv-bone) !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: var(--chv-line) !important;
}

.inputbox::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--chv-line);
  opacity: 1;
}

.button:hover,
.button:focus,
.button1:hover,
.button2:hover,
.pagination li a:hover,
.pagination li.active span,
.tabs .activetab > a,
.minitabs .activetab > a,
#navigation #active-subsection a,
#navigation a:hover {
  color: var(--chv-white) !important;
  background-color: transparent !important;
  border-color: var(--chv-white) !important;
}

blockquote,
.codebox,
.attachbox,
.rules,
.postprofile,
.cp-mini {
  border-color: var(--chv-line) !important;
}

/* Preserve explicit colours assigned by phpBB to users and groups. */
.username-coloured,
a.username-coloured,
.username-coloured:hover,
a.username-coloured:hover {
  color: revert;
}

/* Vertically and horizontally centre phpBB action/dropdown controls. */
.action-bar .button,
.buttons .button,
a.button,
a.button1,
a.button2,
.jumpbox .button,
.jumpbox .dropdown-trigger,
.jumpbox-return,
.dropdown-trigger.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px;
  min-height: 44px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  text-align: center;
  vertical-align: middle;
}

.action-bar .button .icon,
.buttons .button .icon,
.jumpbox .button .icon,
.jumpbox .dropdown-trigger .icon,
.dropdown-trigger.button .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.jumpbox {
  display: flex;
  align-items: center;
}

/* Short landscape phones */
@media (max-height: 500px) and (orientation: landscape) {
  .headerbar { min-height: 150px; }
  .headerbar::before { font-size: 14vw; }
  .search-header { top: 64px; }
  .dropdown-contents { max-height: 58vh; }
  #message-box textarea { min-height: 68vh; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  body, .wrap, .post, .postbody { color: #000; background: #fff; }
  body::before, .headerbar, .navbar, .page-footer, .post-buttons, .action-bar { display: none !important; }
  .postprofile { color: #000; background: #fff; border-right: 1px solid #000; }
}

/*
 * phpBB 3.3.17 forum-list compatibility layer
 *
 * prosilver creates equal-height columns with 999px bottom padding and a
 * matching negative margin. These final rules replace that legacy technique
 * completely, so a parent-style update or stale component rule cannot make a
 * forum row thousands of pixels tall.
 */
.forabg ul.topiclist li.row,
.forumbg ul.topiclist li.row {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  color: var(--chv-bone) !important;
  background: var(--chv-black) !important;
}

.forabg ul.topiclist li.row:hover,
.forumbg ul.topiclist li.row:hover {
  background: #121110 !important;
}

.forabg ul.topiclist li.row dl,
.forumbg ul.topiclist li.row dl {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 88px 88px minmax(220px, 28%) !important;
  grid-template-rows: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 88px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

.forabg ul.topiclist li.row dt,
.forumbg ul.topiclist li.row dt,
.forabg ul.topiclist li.row dd,
.forumbg ul.topiclist li.row dd {
  float: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 88px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 17px 16px !important;
  overflow: hidden !important;
  color: var(--chv-bone) !important;
  background: transparent !important;
}

.forabg ul.topiclist li.row dt,
.forumbg ul.topiclist li.row dt {
  display: block !important;
  padding-left: 18px !important;
}

.forabg ul.topiclist li.row dd,
.forumbg ul.topiclist li.row dd {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-left: 1px solid rgba(233, 227, 216, .24) !important;
}

.forabg ul.topiclist li.row dd.lastpost,
.forumbg ul.topiclist li.row dd.lastpost {
  display: block !important;
}

.forabg ul.topiclist li.row .list-inner,
.forumbg ul.topiclist li.row .list-inner {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 0 52px !important;
  overflow: visible !important;
}

.forabg ul.topiclist li.row .row-item,
.forumbg ul.topiclist li.row .row-item {
  background-position: 17px 50% !important;
}

@media (max-width: 1000px) {
  .forabg ul.topiclist li.row dl,
  .forumbg ul.topiclist li.row dl {
    grid-template-columns: minmax(0, 1fr) 70px 70px minmax(190px, 26%) !important;
  }
}

@media (max-width: 850px) {
  .forabg ul.topiclist li.row dl,
  .forumbg ul.topiclist li.row dl {
    grid-template-columns: minmax(0, 1fr) 64px 64px !important;
  }

  .forabg ul.topiclist li.row dd.lastpost,
  .forumbg ul.topiclist li.row dd.lastpost {
    display: none !important;
  }
}

@media (max-width: 700px) {
  .forabg ul.topiclist li.row dl,
  .forumbg ul.topiclist li.row dl {
    display: block !important;
    min-height: 76px !important;
  }

  .forabg ul.topiclist li.row dt,
  .forumbg ul.topiclist li.row dt {
    min-height: 76px !important;
    padding: 14px 14px 14px 16px !important;
  }

  .forabg ul.topiclist li.row dd,
  .forumbg ul.topiclist li.row dd {
    display: none !important;
  }

  .forabg ul.topiclist li.row .list-inner,
  .forumbg ul.topiclist li.row .list-inner {
    padding-left: 48px !important;
  }

  .forabg ul.topiclist li.row .row-item,
  .forumbg ul.topiclist li.row .row-item {
    background-position: 13px 50% !important;
  }
}
