@import url(https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap);

/* =========================================================
   SHADOW OF THE SHATTERED / MYBB OVERRIDES
   Clean consolidated version
   ========================================================= */

:root {
  --sos-ink: #050B0F;
  --sos-deep: #091317;
  --sos-panel: #0f171b;
  --sos-panel-2: #151f24;
  --sos-panel-3: #2F3638;F
  --sos-brass: #A37C54;
  --sos-brass-soft: rgba(163, 124, 84, 0.22);
  --sos-brass-strong: rgba(163, 124, 84, 0.45);
  --sos-text: #969ca5;
  --sos-text-soft: #7f8790;
  --sos-light: #d4d6d6;
  --sos-link: #d8c0a6;
  --sos-link-hover: #f1dfc8;
  --sos-border: rgba(163, 124, 84, 0.22);
  --sos-shadow: 0 0 0 1px rgba(163, 124, 84, 0.16), 0 10px 30px rgba(0,0,0,0.35);
  --sos-font: "IM Fell English", Georgia, serif;
  --sos-radius: 4px;

  --sos-site-width: 1400px;
  --sos-nav-height: 42px;
  --sos-sidebar-width: 260px;

  --sos-page-bg: url(https://i.imgur.com/JxTdugo.jpeg);
  --sos-welcome-bg: url(https://i.imgur.com/jd9Pxwk.jpeg);
  --sos-post-top-bg: url(https://i.imgur.com/jd9Pxwk.jpeg);

  --sos-post-side-width: 300px;
  --sos-post-portrait-width: 250px;
  --sos-post-portrait-height: 400px;
}

/* =========================================================
   BASE
   ========================================================= */

html,
body {
  width: 100%;
  min-width: var(--sos-site-width);
  margin: 0;
  padding: 0;
  background-color: #060E11 !important;
  background-image: var(--sos-page-bg) !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  background-position: center top !important;
  background-size: var(--sos-site-width) auto !important;
  color: var(--sos-text) !important;
  font-family: var(--sos-font) !important;
  letter-spacing: 0.04em;
  overflow-x: auto !important;
}

body {
  line-height: 1.45;
  padding-top: var(--sos-nav-height) !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

#container,
#content,
#main-content,
.sos-main,
.sos-cotf-shell {
  background: transparent !important;
  color: var(--sos-text) !important;
}

.wrapper,
.container-md,
#container,
#content,
#main-content,
.sos-main,
.sos-cotf-shell,
#panel .upper .wrapper,
.menuwrapper .wrapper,
.sos-notices,
.sos-footer__inner,
.welcome,
#logobanner,
.sos-post {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

#header,
#panel,
.menuwrapper,
#footer {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* =========================================================
   LINKS
   ========================================================= */

a,
a:link,
a:visited {
  color: var(--sos-link) !important;
  text-decoration: none !important;
  transition: color .2s ease, text-shadow .2s ease;
}

a:hover,
a:focus,
a:active {
  color: var(--sos-link-hover) !important;
  text-decoration: none !important;
  text-shadow: 0 0 6px rgba(241, 223, 200, 0.25);
}

/* =========================================================
   GLOBAL TABLE / FORM / BUTTON LANGUAGE
   ========================================================= */

.tborder {
  background: var(--sos-deep) !important;
  border: 1px solid var(--sos-border) !important;
  border-radius: var(--sos-radius) !important;
  box-shadow: var(--sos-shadow);
}

.thead {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border-bottom: 1px solid var(--sos-brass-strong) !important;
}

.thead a,
.thead strong {
  color: var(--sos-light) !important;
  font-weight: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.tcat {
  background: var(--sos-panel) !important;
  color: var(--sos-brass) !important;
  border-top: 1px solid var(--sos-border) !important;
  border-bottom: 1px solid var(--sos-border) !important;
}

.tcat a {
  color: var(--sos-brass) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.trow1,
.trow2 {
  color: var(--sos-text) !important;
  border-top: 1px solid rgba(163,124,84,0.10) !important;
  border-bottom: 1px solid rgba(163,124,84,0.10) !important;
  padding-top: 10px;
  padding-bottom: 10px;
}

.trow1 {
  background: var(--sos-deep) !important;
}

.trow2 {
  background: var(--sos-panel) !important;
}

.trow_shaded {
  background: rgba(163,124,84,0.08) !important;
  color: var(--sos-light) !important;
}

.tfoot {
  background: var(--sos-panel-3) !important;
  color: var(--sos-text) !important;
  border-top: 1px solid var(--sos-border) !important;
}

.tfoot a {
  color: var(--sos-light) !important;
}

.button,
a.button,
input.button,
button,
input[type="submit"],
input[type="button"] {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-brass-strong) !important;
  border-radius: var(--sos-radius) !important;
  font-family: var(--sos-font) !important;
  font-size: 1rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.button:hover,
a.button:hover,
input.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: #3a4346 !important;
  color: #fff5ea !important;
  border-color: rgba(163,124,84,0.75) !important;
}

.button:focus,
a.button:focus,
input.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(163,124,84,0.18) !important;
}

input.textbox,
textarea,
select,
.editor_control_bar,
.codebuttons,
.smilie_insert,
.forminput,
.postbit_buttons > a,
.form-control,
.form-select {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-border) !important;
  font-family: var(--sos-font) !important;
}

input.textbox:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus {
  border-color: rgba(163,124,84,0.75) !important;
  box-shadow: 0 0 0 3px rgba(163,124,84,0.15) !important;
  outline: none !important;
}

option {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
}

fieldset {
  border: 1px solid var(--sos-border) !important;
  background: var(--sos-deep) !important;
}

legend {
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

blockquote {
  background: var(--sos-panel) !important;
  border: 1px solid var(--sos-border) !important;
  border-left: 3px solid var(--sos-brass) !important;
  border-radius: var(--sos-radius) !important;
  color: var(--sos-text) !important;
  padding: 15px !important;
  margin: 12px 0 !important;
}

blockquote cite {
  display: block;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(163,124,84,0.12) !important;
  color: var(--sos-brass) !important;
  font-style: italic;
}

code,
.codeblock,
.pre-bordered {
  background: #10171b !important;
  border: 1px solid var(--sos-border) !important;
  color: #d8d8d8 !important;
  border-radius: var(--sos-radius) !important;
}

.codeblock .title {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border-bottom: 1px solid var(--sos-border) !important;
}

.pagination {
  color: var(--sos-text) !important;
}

.pagination a,
.pagination span {
  background: var(--sos-panel) !important;
  color: var(--sos-text) !important;
  border: 1px solid var(--sos-border) !important;
  border-radius: 3px !important;
}

.pagination a:hover {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border-color: var(--sos-brass-strong) !important;
}

.pagination .pagination_current,
.pagination .current {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border-color: var(--sos-brass-strong) !important;
}

.error {
  background: rgba(115, 34, 34, 0.35) !important;
  border: 1px solid rgba(183, 92, 92, 0.45) !important;
  color: #f0d0d0 !important;
}

.success {
  background: rgba(44, 63, 48, 0.35) !important;
  border: 1px solid rgba(102, 142, 111, 0.45) !important;
  color: #d7e8d8 !important;
}

.alert {
  background: rgba(163,124,84,0.10) !important;
  border: 1px solid var(--sos-brass-soft) !important;
  color: var(--sos-light) !important;
}

.pm_alert,
.red_alert {
  background: rgba(163,124,84,0.14) !important;
  border: 1px solid var(--sos-brass-strong) !important;
  color: var(--sos-light) !important;
}

.panel,
.pm_folder,
.pm_message,
.stat,
.stats,
.forumbit_post,
.forumbit_manage,
.subforum_small,
.attachbox,
.buddy_status,
.expcolimage,
.popup_menu,
.popup_item_container,
.popup_item,
.popup_menu .popup_item {
  background: var(--sos-deep) !important;
  color: var(--sos-text) !important;
  border-color: var(--sos-border) !important;
}

.popup_menu {
  border: 1px solid var(--sos-border) !important;
  box-shadow: var(--sos-shadow) !important;
}

.popup_item:hover,
.popup_menu .popup_item:hover {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
}

table {
  color: var(--sos-text) !important;
}

td {
  color: inherit !important;
}

hr {
  border: 0 !important;
  border-top: 1px solid var(--sos-border) !important;
}

img {
  max-width: 100%;
  height: auto;
}

.card,
.modal,
.dropdown-menu,
.bg-primary,
.bg-light,
.bg-white,
.nav-tabs .nav-link,
.btn-primary,
.btn-secondary,
.editor,
.editor_row {
  background-color: var(--sos-panel) !important;
  color: var(--sos-text) !important;
  border-color: var(--sos-border) !important;
}

.btn-primary,
.btn-secondary {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
}

.nav-tabs .nav-link.active {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border-color: var(--sos-border) !important;
}

::selection {
  background: rgba(163,124,84,0.25);
  color: #fffaf4;
}

/* =========================================================
   HEADER / ACCOUNT BAR / FIXED NAV / BANNER
   ========================================================= */

#header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 18px;
  padding-top: var(--sos-nav-height) !important;
}

#panel,
#panel .upper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative;
  z-index: 4;
}

#panel {
  margin-top: 12px;
}

#panel .upper {
  padding: 10px 14px !important;
}

.sos-topbar {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.sos-accountbar-shell {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.sos-accountbar {
  width: fit-content !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto !important;
  padding: 12px 14px !important;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  box-shadow: var(--sos-shadow);
  border-radius: var(--sos-radius);
}

.sos-accountbar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center !important;
  gap: 10px 12px !important;
}

.sos-accountbar__hello {
  margin: 0 !important;
  white-space: nowrap;
  color: var(--sos-text);
  font-family: var(--sos-font);
  font-size: 1.05rem;
  letter-spacing: 0.04em;
}

.sos-accountbar__hello a {
  color: var(--sos-brass) !important;
}

.sos-accountbar__hello a:hover {
  color: var(--sos-link-hover) !important;
}

.sos-accountbar__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center !important;
  gap: 8px !important;
}

.sos-accountbar__links li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sos-accountbar__links a {
  display: inline-block;
  background: var(--sos-panel-3);
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-brass-strong);
  border-radius: 3px;
  padding: 5px 10px !important;
  font-family: var(--sos-font);
  font-size: 0.9rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1.2;
}

.sos-accountbar__links a:hover,
.sos-accountbar__links a:focus {
  background: #3a4346;
  color: #fff5ea !important;
  border-color: rgba(163,124,84,0.78);
  text-shadow: none;
}

.sos-accountbar__links a.pm-button-single {
  white-space: nowrap !important;
}

/* full-width fixed nav */
.menuwrapper {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 999999 !important;
  background: rgba(5,11,15,.97) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--sos-border) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.35) !important;
}

.menuwrapper .wrapper {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.menuwrapper .menu,
ul.menu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 42px !important;
  min-height: var(--sos-nav-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.menuwrapper .menu li {
  float: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menuwrapper .menu a,
ul.menu li a {
  display: block !important;
  padding: 22px 0 !important;
  color: var(--sos-text) !important;
  font-family: var(--sos-font) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.menuwrapper .menu a:hover,
ul.menu li a:hover {
  color: var(--sos-light) !important;
}

/* banner */
#logobanner {
  position: relative !important;
  min-height: 500px !important;
  margin: 0 auto !important;
  padding: 36px 24px 26px !important;
  background: transparent !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  z-index: 1 !important;
}

#logobanner .logotitle {
  position: absolute !important;
  top: 150px !important;
  left: 23% !important;
  width: auto !important;
  margin: 0 !important;
  text-align: left !important;
  z-index: 5 !important;
}

#logobanner .plotheader {
  position: absolute !important;
  top: 222px !important;
  left: 23% !important;
  width: auto !important;
  margin: 0 !important;
  text-align: left !important;
  z-index: 5 !important;
  color: var(--sos-brass);
  font-family: var(--sos-font);
  font-size: clamp(1.1rem, 1.5vw, 1.7rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#logobanner .logotitle a,
#logobanner .logotitle {
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: clamp(2.8rem, 4.2vw, 5rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.06em;
  text-transform: none !important;
  text-shadow: 0 0 18px rgba(0,0,0,.45);
}

.sos-notices {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto 18px !important;
}

/* =========================================================
   INDEX / CONTENT SHELL
   ========================================================= */

.sos-cotf-shell,
#container {
  display: grid !important;
  grid-template-columns: var(--sos-sidebar-width) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#sidebar-collapse,
.sos-sidebar,
#container > .float_left {
  float: none !important;
  width: var(--sos-sidebar-width) !important;
  min-width: var(--sos-sidebar-width) !important;
  max-width: var(--sos-sidebar-width) !important;
  margin: 0 !important;
}

#main-content,
.sos-main,
#container > .float_right {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#content {
  width: 100% !important;
  min-width: 0 !important;
}

#main-content .navigation,
.sos-main .navigation {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px !important;
}

.sos-sidebar-box {
  margin-bottom: 14px;
  overflow: hidden;
}

.sidebarstyle,
.sidelinks,
.sos-season-box {
  line-height: 1.7;
}

.trow1forum {
  background: var(--sos-deep);
  color: var(--sos-text);
  border-top: 1px solid rgba(163,124,84,.10);
  border-bottom: 1px solid rgba(163,124,84,.10);
  padding: 14px 16px;
}

.sidelinksmenu {
  display: grid;
  gap: 8px;
}

.sidelinksmenu a {
  display: block;
  background: var(--sos-panel);
  border: 1px solid var(--sos-border);
  border-radius: 3px;
  padding: 8px 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--sos-light) !important;
  text-shadow: none !important;
}

.sidelinksmenu a:hover {
  background: var(--sos-panel-3);
  color: #fff5ea !important;
}

.sos-season-box strong {
  display: block;
  margin-bottom: 6px;
  color: var(--sos-brass);
  letter-spacing: .08em;
  text-transform: uppercase;
}

#main-content .tborder {
  margin-bottom: 14px;
}

#main-content .tcat {
  padding: 10px 14px;
}

#main-content .expcolimage {
  float: right;
  margin-left: 8px;
}

#boards {
  background: var(--sos-panel);
  border: 1px solid var(--sos-border);
  border-radius: 4px;
  padding: 14px 16px;
  margin: 10px 0 0;
}

.descripfade {
  color: var(--sos-text);
  line-height: 1.75;
  max-height: 130px;
  overflow: auto;
  text-align: justify;
}

.trow1forum .lastpost_bar,
.lastpost_bar {
  text-align: right;
}

.lastpost_bar .smalltext {
  display: inline-block;
  text-align: right;
  line-height: 1.55;
}

.subforums {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding: 0;
}

.subforums li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.subforums a {
  display: inline-block;
  padding: 4px 10px;
  background: var(--sos-panel-2);
  border: 1px solid var(--sos-border);
  border-radius: 999px;
  font-size: .92rem;
  text-shadow: none !important;
}

.sos-board-activity .trow1 {
  padding: 18px !important;
}

/* =========================================================
   WELCOME TABLE
   Compact version
   ========================================================= */

.welcome {
  width: var(--sos-site-width);
  min-width: var(--sos-site-width);
  max-width: var(--sos-site-width);
  margin: 0 auto 28px;
  padding: 12px;
  padding-top: 0;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  box-shadow: 0 0 50px rgba(0,0,0,.45);
  border-radius: 320px 320px 0 0;
  box-sizing: border-box;
}

.welcome > .fade-scroll {
  opacity: 1;
}

.welcome__arch {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  margin-bottom: 10px;
  padding: 26px 18px 18px;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 520px 520px 0 0;
  text-align: center;
  background:
    linear-gradient(to bottom, rgba(7,19,23,.28), rgba(7,19,23,.42)),
    var(--sos-welcome-bg) center center / cover no-repeat;
  box-shadow: inset 0 0 14px rgba(0,0,0,.35);
}

.welcome__arch-fill {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.welcome__arch-hello {
  color: var(--sos-brass);
  font-family: var(--sos-font);
  font-size: 1.05rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.welcome__arch-title {
  color: #E6E3D6;
  font-family: var(--sos-font);
  font-size: 2.4rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(0,0,0,.45);
}

.welcome__row {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.welcome__content {
  background:
    linear-gradient(to bottom, rgba(5,11,15,.72), rgba(5,11,15,.82)),
    var(--sos-welcome-bg) center top / cover no-repeat;
  border: 1px solid var(--sos-border);
  box-shadow: var(--sos-shadow);
  border-radius: 5px;
  padding: 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  box-sizing: border-box;
}

.welcome__content--intro,
.welcome__content--staff,
.welcome__content--updates,
.welcome__content--links {
  flex: 0 0 calc(50% - 5px);
  max-width: calc(50% - 5px);
}

.welcome__title {
  width: 100%;
  margin-bottom: 6px;
  padding: 9px 10px 8px;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  text-align: center;
  box-sizing: border-box;
}

.welcome__title p {
  margin: 0;
  color: var(--sos-brass);
  font-family: var(--sos-font);
  font-size: 1.4rem;
  font-style: italic;
}

.welcome__text,
.welcome__weather,
.welcome__links {
  width: 100%;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  box-sizing: border-box;
}

.welcome__text {
  padding: 10px 14px;
}

.welcome__text-inner {
  max-height: 150px;
  overflow: auto;
  padding-right: 8px;
}

.welcome__text-inner p {
  margin: 0 0 10px;
  line-height: 1.7;
  text-align: justify;
}

.welcome__weather {
  margin-top: 8px;
  padding: 12px 14px;
}

.welcome__weather p {
  margin: 0;
  line-height: 1.7;
}

.welcome__weather span {
  font-style: italic;
}

.welcome__links {
  padding: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
}

.welcome__links a {
  flex: 0 0 calc(50% - 4px);
  display: block;
  padding: 9px;
  background: var(--sos-panel-3);
  border: 1px solid var(--sos-border);
  color: var(--sos-text) !important;
  text-align: center;
  text-transform: uppercase;
  font-size: .88rem;
  font-style: normal;
}

.welcome__links a:hover {
  color: var(--sos-light) !important;
  text-shadow: none !important;
}

.welcome__content--staff {
  justify-content: center;
  gap: 12px;
}

.hover-avatar {
  position: relative;
  overflow: hidden;
  width: 150px;
  height: 200px;
  border: 1px solid rgba(163,124,84,.56);
  border-radius: 100px 100px 0 0;
  background: var(--sos-deep);
  display: block;
}

.hover-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: .3s ease;
}

.hover-avatar span {
  position: absolute;
  inset: auto 0 12px 0;
  z-index: 2;
  opacity: 0;
  padding: 0 8px;
  color: var(--sos-light);
  text-align: center;
  transition: .3s ease;
}

.hover-avatar:hover span {
  opacity: 1;
}

.hover-avatar:hover img {
  opacity: .35;
  transform: scale(1.08);
  filter: blur(2px);
}

/* =========================================================
   USER CP
   ========================================================= */

.usercp_nav,
table.usercp_nav,
.usercp table,
#content table.tborder {
  border-radius: 4px;
  overflow: hidden;
}

.usercp_nav,
table.usercp_nav {
  width: 260px;
  background: #091317 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
}

.usercp_nav .thead,
.usercp_nav .tcat,
table.usercp_nav .thead,
table.usercp_nav .tcat {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
}

.usercp_nav .thead strong,
.usercp_nav .tcat strong,
table.usercp_nav .thead strong,
table.usercp_nav .tcat strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.usercp_nav .trow1,
.usercp_nav .trow2,
table.usercp_nav .trow1,
table.usercp_nav .trow2 {
  background: #0f171b !important;
  padding: 10px !important;
  border-top: 1px solid rgba(163,124,84,0.10) !important;
  border-bottom: 1px solid rgba(163,124,84,0.10) !important;
}

.usercp_nav a,
table.usercp_nav a,
.usercp_nav .usercp_nav_item,
table.usercp_nav .usercp_nav_item,
a.usercp_nav_item {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: #151f24 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 3px;
  padding: 9px 12px !important;
  margin: 0 0 6px 0 !important;
  text-decoration: none !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 0.98rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
  float: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.usercp_nav a:last-child,
table.usercp_nav a:last-child,
.usercp_nav .usercp_nav_item:last-child,
table.usercp_nav .usercp_nav_item:last-child {
  margin-bottom: 0 !important;
}

.usercp_nav a:hover,
table.usercp_nav a:hover,
.usercp_nav .usercp_nav_item:hover,
table.usercp_nav .usercp_nav_item:hover,
a.usercp_nav_item:hover {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border-color: rgba(163,124,84,0.50) !important;
  text-shadow: none !important;
}

.usercp_nav .usercp_nav_current,
table.usercp_nav .usercp_nav_current,
.usercp_nav a.usercp_nav_current,
table.usercp_nav a.usercp_nav_current {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border-color: rgba(163,124,84,0.62) !important;
  box-shadow: inset 0 0 0 1px rgba(163,124,84,0.14);
}

#content .tborder {
  background: #091317 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
}

#content .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
}

#content .thead strong,
#content .thead a {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#content .trow1 {
  background: #091317 !important;
  color: #969ca5 !important;
  border-top: 1px solid rgba(163,124,84,0.10) !important;
  border-bottom: 1px solid rgba(163,124,84,0.10) !important;
}

#content .trow2 {
  background: #0f171b !important;
  color: #969ca5 !important;
  border-top: 1px solid rgba(163,124,84,0.10) !important;
  border-bottom: 1px solid rgba(163,124,84,0.10) !important;
}

#content .tcat {
  background: #151f24 !important;
  color: #A37C54 !important;
  border-top: 1px solid rgba(163,124,84,0.22) !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
}

#content .tcat strong {
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#content .tfoot {
  background: #151f24 !important;
  border-top: 1px solid rgba(163,124,84,0.22) !important;
}

.usercp_container,
.usercp_content {
  background: transparent !important;
}

.usercp_content .tborder {
  margin-bottom: 16px;
}

#content input.textbox {
  min-height: 36px;
}

#content textarea {
  min-height: 140px;
  resize: vertical;
}

.sos-ucp-layout {
  align-items: flex-start;
}

.sos-ucp-sidebar,
.sos-ucp-main {
  min-width: 0;
}

.sos-ucp-main > .tborder,
.sos-ucp-main form > .tborder,
.sos-ucp-main table.tborder {
  width: 100% !important;
  margin-bottom: 16px;
}

.sos-ucp-main > br,
.sos-ucp-main form > br {
  display: none;
}

.sos-ucp-main img.rounded-circle {
  display: block;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
  margin: 0 0 16px 0;
  border: 2px solid rgba(163,124,84,0.45);
  background: #091317;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
}

.sos-ucp-main .alert.bg-white {
  background: #0f171b !important;
  color: #969ca5 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 12px !important;
}

.sos-ucp-main .largetext,
.sos-ucp-main .largetext a {
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
}

.sos-ucp-main strong {
  color: #d4d6d6;
}

.sos-ucp-main textarea.usercp_notepad {
  width: 100% !important;
  min-height: 180px;
}

/* =========================================================
   SHOWTHREAD HEADER / CONTROLS
   ========================================================= */

.container-md > .card.catmod,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none > .card.catmod,
.card.shadow-sm.rounded.border-0.p-2.mt-4.mb-4 {
  background: var(--sos-deep) !important;
  border: 1px solid var(--sos-border) !important;
  box-shadow: var(--sos-shadow) !important;
  border-radius: 8px !important;
}

.container-md > .card.catmod p,
.container-md > .card.catmod label,
.container-md > .card.catmod .text-muted,
.card.shadow-sm.rounded.border-0.p-2.mt-4.mb-4,
.card.shadow-sm.rounded.border-0.p-2.mt-4.mb-4 .text-muted {
  color: var(--sos-text) !important;
}

.container-md > .card.catmod p[style*="font-size: 20px"],
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none .card.catmod p[style*="font-size: 20px"] {
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.container-md .card.catmod .btn,
.card.catmod .btn,
#moderator_options .btn,
#inlinemoderation_options .btn {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-brass-strong) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.container-md .card.catmod .btn:hover,
.card.catmod .btn:hover,
#moderator_options .btn:hover,
#inlinemoderation_options .btn:hover {
  background: #3a4346 !important;
  color: #fff5ea !important;
}

.container-md .card.catmod .form-select,
.card.catmod .form-select,
#moderator_options .form-select,
#inlinemoderation_options .form-select {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-border) !important;
}

/* =========================================================
   DESKTOP POSTBIT
   Fixed width. No stacking.
   Portrait locked at 250x400.
   ========================================================= */

.sos-post {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 24px auto !important;
  background: var(--sos-deep) !important;
  border: 1px solid var(--sos-border) !important;
  box-shadow: var(--sos-shadow) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.sos-post__grid {
  display: grid !important;
  grid-template-columns: var(--sos-post-side-width) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: start !important;
}

.sos-post__side {
  padding: 12px 14px 14px !important;
  border-right: 1px solid rgba(163,124,84,.18) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.sos-post__portraitwrap {
  margin: 0 !important;
  padding: 12px !important;
  background: transparent !important;
  border: 1px solid rgba(163,124,84,.18) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.sos-post__portrait {
  width: var(--sos-post-portrait-width) !important;
  min-width: var(--sos-post-portrait-width) !important;
  max-width: var(--sos-post-portrait-width) !important;
  margin: 0 auto !important;
}

.sos-post__portrait img {
  display: block !important;
  width: var(--sos-post-portrait-width) !important;
  min-width: var(--sos-post-portrait-width) !important;
  max-width: var(--sos-post-portrait-width) !important;
  height: var(--sos-post-portrait-height) !important;
  min-height: var(--sos-post-portrait-height) !important;
  max-height: var(--sos-post-portrait-height) !important;
  object-fit: cover !important;
  object-position: center top !important;
  border: 2px solid rgba(163,124,84,.55) !important;
  border-radius: 150px 150px 0 0 !important;
  background: var(--sos-panel) !important;
}

.sos-post__quote {
  margin: 0 !important;
  padding: 14px 18px !important;
  min-height: 96px !important;
  background: transparent !important;
  border: 1px solid rgba(163,124,84,.18) !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: .95rem !important;
  font-style: italic !important;
  line-height: 1.35 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.sos-post__quote:empty {
  display: none;
}

.sos-post__main {
  min-width: 0 !important;
  padding: 12px 18px 0 !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(to bottom, rgba(5,11,15,.52), rgba(5,11,15,.72)),
    var(--sos-post-top-bg) center top / cover no-repeat !important;
}

.sos-post__namewrap {
  margin: 0 0 10px !important;
  padding: 0 2px !important;
  text-align: left !important;
}

.sos-post__name {
  display: inline-block !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.95rem !important;
  font-weight: normal !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* Postbit Legend Title
   Staff-only custom profile field: fid45 */

.sos-post__legend-title {
  display: inline-flex;
  align-items: center;
  margin: 5px;
  padding: 5px !important;
  border: 1px solid rgba(163, 124, 84, 0.42);
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(163,124,84,.16), rgba(7,19,23,.18) 70%),
    rgba(7,19,23,.35);
  color: #A37C54;
  font-family: "IM Fell English", serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-shadow:
    0 0 4px rgba(163,124,84,.55),
    0 0 10px rgba(163,124,84,.22),
    0 0 4px #000;
  box-shadow:
    0 0 8px rgba(163,124,84,.14),
    inset 0 0 8px rgba(0,0,0,.32);
  animation: sosLegendTitlePulse 3.8s ease-in-out infinite;
}

.sos-post__legend-title:empty {
  display: none;
}

.sos-post__legend-title::before,
.sos-post__legend-title::after {
  content: "✦";
  color: rgba(215,195,164,.72);
  font-size: 9px;
  line-height: 1;
}

.sos-post__legend-title::before {
  margin-right: 6px;
}

.sos-post__legend-title::after {
  margin-left: 6px;
}

@keyframes sosLegendTitlePulse {
  0%, 100% {
    color: #A37C54;
    border-color: rgba(163,124,84,.36);
    text-shadow:
      0 0 3px rgba(163,124,84,.45),
      0 0 8px rgba(163,124,84,.18),
      0 0 4px #000;
    box-shadow:
      0 0 6px rgba(163,124,84,.10),
      inset 0 0 8px rgba(0,0,0,.32);
  }

  50% {
    color: #d7c3a4;
    border-color: rgba(215,195,164,.62);
    text-shadow:
      0 0 5px rgba(215,195,164,.62),
      0 0 14px rgba(163,124,84,.38),
      0 0 4px #000;
    box-shadow:
      0 0 13px rgba(163,124,84,.24),
      inset 0 0 10px rgba(0,0,0,.38);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sos-post__legend-title {
    animation: none;
  }
}

.sos-post__bar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 12px !important;
  background: rgba(5,11,15,.28) !important;
  border: 1px solid rgba(163,124,84,.35) !important;
  border-radius: 28px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.sos-post__bar .mp-card {
  background: rgba(5,11,15,.18) !important;
  border: 1px solid rgba(163,124,84,.35) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
}

.sos-post__bar .mp-card h4 {
  margin: 0 0 10px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid rgba(163,124,84,.35) !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: 1rem !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sos-post__bar .mp-card.mp-grid {
  display: grid !important;
  gap: 8px !important;
}

.sos-post__bar .mp-pill {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  background: rgba(5,11,15,.40) !important;
  border: 1px solid rgba(163,124,84,.38) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
}

.sos-post__bar .mp-pill .label {
  color: var(--sos-brass) !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

.sos-post__bar .mp-pill .value {
  color: var(--sos-light) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
}

.sos-post__stats {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 10px 8px 12px !important;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

.sos-statpill {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  background: rgba(15,23,27,.72) !important;
  border: 1px solid rgba(163,124,84,.34) !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
}

.sos-statpill .label {
  color: var(--sos-brass) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.sos-statpill .value {
  color: var(--sos-light) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
}

.sos-post__utility {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 -18px !important;
  padding: 14px 18px !important;
  background: rgba(5,11,15,.84) !important;
  border-top: 1px solid rgba(163,124,84,.18) !important;
  border-bottom: 1px solid rgba(163,124,84,.18) !important;
  box-sizing: border-box !important;
}

.sos-post__meta {
  color: var(--sos-text-soft) !important;
  font-size: .92rem !important;
}

.sos-post__meta * {
  font-size: .92rem !important;
}

.sos-post__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.sos-post__actions a,
.sos-post__actions .btn,
.sos-post__actions .postbit_quote,
.sos-post__actions .postbit_edit,
.sos-post__actions .postbit_qdelete,
.sos-post__actions .postbit_qrestore,
.sos-post__actions .postbit_multiquote {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 62px !important;
  min-height: 40px !important;
  padding: 8px 14px !important;
  background: #4a4e52 !important;
  color: var(--sos-light) !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  font-family: var(--sos-font) !important;
  font-size: .95rem !important;
}

.sos-post__actions a:hover,
.sos-post__actions .btn:hover {
  background: #5b6166 !important;
  color: #fff5ea !important;
}

.sos-post__body {
  min-height: 280px !important;
  margin: 0 -18px !important;
  padding: 26px 30px 34px !important;
  background: rgba(5,11,15,.96) !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.02rem !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
}

.sos-post__body p:last-child {
  margin-bottom: 0;
}

.sos-post__body a {
  color: var(--sos-link) !important;
}

.sos-post__body a:hover {
  color: var(--sos-link-hover) !important;
}

.sos-post__body .signature,
.sos-post__body .post_signature {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(163,124,84,.18);
}

/* kill old temporary stitched fragments if any survive */
.mp-righttop,
.sos-post-shell,
.post_meta,
.post_body:empty {
  display: none !important;
}

/* quick reply */
#quick_reply_form .row.mb-4.shadow-sm.border-0.rounded.bg-white,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none .card.border-0.shadow-sm {
  background: var(--sos-deep) !important;
  border: 1px solid var(--sos-border) !important;
  box-shadow: var(--sos-shadow) !important;
  border-radius: 8px !important;
}

#quick_reply_form textarea.form-control,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none textarea.form-control {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-border) !important;
  box-shadow: none !important;
}

#quick_reply_form .btn,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none .btn {
  background: var(--sos-panel-3) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-brass-strong) !important;
}

#quick_reply_form .btn:hover,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none .btn:hover {
  background: #3a4346 !important;
  color: #fff5ea !important;
}

.editor_control_bar {
  background: var(--sos-panel) !important;
  color: var(--sos-text) !important;
  border: 1px solid var(--sos-border) !important;
}

.card.body.bg-white.rounded.shadow-sm.mt-3.mb-3.border-0,
.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none .card-body.bg-white.shadow-sm.rounded.border-0.p-3.mt-3 {
  background: var(--sos-deep) !important;
  border: 1px solid var(--sos-border) !important;
  box-shadow: var(--sos-shadow) !important;
  color: var(--sos-text) !important;
}

/* footer */
#footer {
  background: transparent !important;
  color: var(--sos-text-soft) !important;
}

.sos-footer {
  background: var(--sos-deep);
  border-top: 1px solid var(--sos-border);
  margin-top: 40px;
  padding: 28px 0;
}

.sos-footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px;
}

.sos-footer__left {
  flex: 1 1 580px;
  min-width: 0;
}

.sos-footer__right {
  flex: 0 1 320px;
  min-width: 260px;
}

.sos-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
}

.sos-footer__links li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sos-footer__credit {
  color: var(--sos-text-soft);
  font-size: 0.95rem;
  line-height: 1.6;
}

.sos-footer__search .input-group {
  display: flex;
  gap: 8px;
}

.sos-footer__search .form-control {
  flex: 1 1 auto;
}

.sos-footer__selectors {
  margin-top: 14px;
}

.sos-footer select,
.sos-footer .form-select,
.sos-footer .form-control {
  background: var(--sos-panel) !important;
  color: var(--sos-light) !important;
  border: 1px solid var(--sos-border) !important;
}

/* =========================================================
   COMPACT PASS
   Append this at the VERY BOTTOM of CSS
   ========================================================= */

/* global scale-down */
:root{
  --sos-site-width: 1200px;
  --sos-sidebar-width: 240px;
  --sos-post-side-width: 280px;
  --sos-post-portrait-width: 250px;
  --sos-post-portrait-height: 400px;
  --sos-nav-height: 42px;
}

/* page background stays centered to the same width */
html,
body{
  background-size: var(--sos-site-width) auto !important;
  padding-top: var(--sos-nav-height) !important;
}

/* all main shells obey the smaller width */
.wrapper,
.container-md,
#container,
#content,
#main-content,
.sos-main,
.sos-cotf-shell,
#panel .upper .wrapper,
.menuwrapper .wrapper,
.sos-notices,
.sos-footer__inner,
.welcome,
#logobanner,
.sos-post{
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
}

/* =========================================================
   NAV / HEADER COMPACTING
   ========================================================= */

.menuwrapper .menu,
ul.menu{
  gap: 20px !important;
  min-height: 42px !important;
}

.menuwrapper .menu a,
ul.menu li a{
  padding: 16px 0 !important;
  font-size: .88rem !important;
  letter-spacing: .06em !important;
}

#header{
  padding-top: var(--sos-nav-height) !important;
}

.sos-accountbar{
  padding: 8px 10px !important;
}

.sos-accountbar__hello{
  font-size: .95rem !important;
}

.sos-accountbar__links a{
  padding: 4px 8px !important;
  font-size: .82rem !important;
}

/* banner text */
#logobanner{
  min-height: 440px !important;
}

#logobanner .logotitle{
  top: 122px !important;
  left: 22% !important;
}

#logobanner .plotheader{
  top: 182px !important;
  left: 22% !important;
}

#logobanner .logotitle a,
#logobanner .logotitle{
  font-size: clamp(2.2rem, 3vw, 3.6rem) !important;
  letter-spacing: .03em !important;
}

#logobanner .plotheader{
  font-size: clamp(.9rem, 1.1vw, 1.15rem) !important;
  letter-spacing: .09em !important;
}

/* =========================================================
   INDEX / SIDEBAR COMPACTING
   ========================================================= */

.sos-cotf-shell,
#container{
  grid-template-columns: var(--sos-sidebar-width) minmax(0, 1fr) !important;
  gap: 12px !important;
}

#sidebar-collapse,
.sos-sidebar,
#container > .float_left{
  width: var(--sos-sidebar-width) !important;
  min-width: var(--sos-sidebar-width) !important;
  max-width: var(--sos-sidebar-width) !important;
}

.trow1forum{
  padding: 12px 14px !important;
}

.sidelinksmenu{
  gap: 6px !important;
}

.sidelinksmenu a{
  padding: 7px 9px !important;
  font-size: .82rem !important;
}

/* =========================================================
   WELCOME TABLE COMPACTING
   ========================================================= */

.welcome{
  padding: 10px !important;
  margin-bottom: 22px !important;
  border-radius: 250px 250px 0 0 !important;
}

.welcome__arch{
  min-height: 250px !important;
  padding: 18px 14px 14px !important;
  border-radius: 360px 360px 0 0 !important;
}

.welcome__arch-fill{
  min-height: 205px !important;
}

.welcome__arch-hello{
  font-size: .9rem !important;
  margin-bottom: 6px !important;
}

.welcome__arch-title{
  font-size: 2rem !important;
}

.welcome__row{
  gap: 8px !important;
  margin-top: 8px !important;
}

.welcome__content{
  padding: 14px !important;
}

.welcome__title{
  padding: 7px 8px 6px !important;
}

.welcome__title p{
  font-size: 1.15rem !important;
}

.welcome__text{
  padding: 8px 10px !important;
}

.welcome__text-inner{
  max-height: 130px !important;
}

.welcome__text-inner p{
  margin-bottom: 8px !important;
  line-height: 1.55 !important;
  font-size: .92rem !important;
}

.welcome__weather{
  padding: 9px 10px !important;
}

.welcome__weather p{
  line-height: 1.5 !important;
  font-size: .9rem !important;
}

.welcome__links{
  padding: 10px !important;
  gap: 6px !important;
}

.welcome__links a{
  padding: 7px !important;
  font-size: .78rem !important;
}

.hover-avatar{
  width: 130px !important;
  height: 175px !important;
}

.hover-avatar img{
  width: 130px !important;
  height: 175px !important;
}

/* =========================================================
   POSTBIT COMPACTING
   Keeps portrait at 250x400, but shrinks everything else
   ========================================================= */

.sos-post{
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
}

.sos-post__grid{
  grid-template-columns: var(--sos-post-side-width) minmax(0, 1fr) !important;
}

.sos-post__side{
  padding: 10px 12px 12px !important;
  gap: 8px !important;
}

.sos-post__portraitwrap{
  padding: 10px !important;
}

.sos-post__portrait{
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
}

.sos-post__portrait img{
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
}

.sos-post__quote{
  padding: 10px 12px !important;
  min-height: 72px !important;
  font-size: .88rem !important;
  line-height: 1.25 !important;
}

.sos-post__main{
  padding: 10px 14px 0 !important;
}

.sos-post__namewrap{
  margin-bottom: 8px !important;
}

.sos-post__name{
  font-size: 1.55rem !important;
}

.sos-post__bar{
  gap: 8px !important;
  padding: 8px !important;
  border-radius: 18px !important;
}

.sos-post__bar .mp-card{
  padding: 8px 9px !important;
}

.sos-post__bar .mp-card h4{
  font-size: .86rem !important;
  margin-bottom: 8px !important;
  padding-bottom: 5px !important;
}

.sos-post__bar .mp-card.mp-grid{
  gap: 6px !important;
}

.sos-post__bar .mp-pill{
  min-height: 24px !important;
  padding: 4px 8px !important;
  gap: 5px !important;
}

.sos-post__bar .mp-pill .label{
  font-size: .66rem !important;
}

.sos-post__bar .mp-pill .value{
  font-size: .7rem !important;
}

.sos-post__stats{
  gap: 8px !important;
  padding: 8px 4px 10px !important;
}

.sos-statpill{
  min-height: 28px !important;
  padding: 4px 8px !important;
  gap: 6px !important;
}

.sos-statpill .label{
  font-size: .74rem !important;
}

.sos-statpill .value{
  font-size: .78rem !important;
}

.sos-post__utility{
  padding: 10px 14px !important;
}

.sos-post__meta,
.sos-post__meta *{
  font-size: .78rem !important;
}

.sos-post__actions{
  gap: 6px !important;
}

.sos-post__actions a,
.sos-post__actions .btn,
.sos-post__actions .postbit_quote,
.sos-post__actions .postbit_edit,
.sos-post__actions .postbit_qdelete,
.sos-post__actions .postbit_qrestore,
.sos-post__actions .postbit_multiquote{
  min-width: 52px !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
  font-size: .82rem !important;
}

.sos-post__body{
  min-height: 220px !important;
  padding: 20px 24px 26px !important;
  font-size: .94rem !important;
  line-height: 1.75 !important;
}

/* =========================================================
   FOOTER COMPACTING
   ========================================================= */

.sos-footer{
  padding: 22px 0 !important;
}

.sos-footer__inner{
  gap: 20px !important;
}

.sos-footer__links{
  gap: 8px 14px !important;
}

.sos-footer__credit{
  font-size: .85rem !important;
}

/* =========================================================
   BOARD SHELL = SAME WIDTH AS WELCOME TABLE
   Paste at VERY BOTTOM
   ========================================================= */

:root{
  --sos-site-width: 1200px; /* or 1400px if that is the real final target */
}

/* Welcome table and board shell use the exact same width */
.welcome,
.container-md,
#container,
.sos-cotf-shell,
#main-content,
.sos-main {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* The combined sidebar + forum area should fill that full shell */
#container,
.sos-cotf-shell {
  display: grid !important;
  grid-template-columns: var(--sos-sidebar-width) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 0 !important;
}

/* Sidebar stays fixed width */
#sidebar-collapse,
.sos-sidebar,
#container > .float_left {
  width: var(--sos-sidebar-width) !important;
  min-width: var(--sos-sidebar-width) !important;
  max-width: var(--sos-sidebar-width) !important;
  margin: 0 !important;
  float: none !important
}
	  
	  /* =========================================
   NARROWER FORUM WIDTH
   ========================================= */

:root{
  --sos-site-width: 1100px;
}

/* all major shells */
.wrapper,
.container-md,
#container,
#content,
#main-content,
.sos-main,
.sos-cotf-shell,
#panel .upper .wrapper,
.menuwrapper .wrapper,
.sos-notices,
.sos-footer__inner,
.welcome,
#logobanner,
.sos-post{
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
}

/* keep the page background aligned to the same width */
html,
body{
  background-size: var(--sos-site-width) auto !important;
}

/* keep the fixed nav inner width matched too */
.menuwrapper .wrapper{
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
}

/* =========================================================
   SOS PROFILE MOCKUP BUILD
   ========================================================= */

.sos-mockprofile-page {
  margin-top: 18px;
}

.sos-mockprofile {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  color: var(--sos-text);
}

.sos-mockprofile__namewrap {
  margin-bottom: 14px;
  text-align: center;
}

.sos-mockprofile__name {
  display: inline-block;
  padding: 0 14px;
  color: var(--sos-brass);
  font-family: var(--sos-font);
  font-style: italic;
  letter-spacing: .05em;
  text-shadow: 0 0 8px rgba(0,0,0,.5);
}

.sos-card {
  background:
    linear-gradient(to bottom, rgba(15,23,27,.88), rgba(8,14,17,.94)),
    var(--sos-post-top-bg) center center / cover no-repeat;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 18px;
  box-shadow: 0 0 0 1px rgba(163,124,84,.12), 0 10px 30px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.02);
  padding: 14px;
  margin-bottom: 16px;
}

.sos-section-title {
  margin: 0 0 12px 0;
  text-align: center;
  color: #f0e1a2;
  font-family: var(--sos-font);
  font-size: 2rem;
  font-style: italic;
  letter-spacing: .03em;
  text-shadow: 0 0 8px rgba(0,0,0,.55);
}

.sos-section-title--small {
  font-size: 1.7rem;
  margin-bottom: 10px;
}

.sos-mockprofile__hero {
  margin-bottom: 16px;
}

.sos-mockprofile__mainimage {
  width: 100%;
  height: 320px;
  border: 1px solid rgba(163,124,84,.55);
  border-radius: 18px 18px 0 0;
  background:
    linear-gradient(to bottom, rgba(15,23,27,.45), rgba(8,14,17,.65)),
    var(--sos-post-top-bg) center center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 0 16px rgba(0,0,0,.28);
}

.sos-mockprofile__thumbs {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 8px 10px 0;
}

.sos-gallery-thumb {
  width: 64px;
  height: 64px;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 6px;
  background-color: var(--sos-deep);
  background-image: var(--thumb-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: transform .15s ease, border-color .2s ease, box-shadow .2s ease;
}

.sos-gallery-thumb:hover,
.sos-gallery-thumb.is-active {
  transform: translateY(-1px);
  border-color: rgba(163,124,84,.85);
  box-shadow: 0 0 0 2px rgba(163,124,84,.18);
}

.sos-mockprofile__toprow {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.sos-mockprofile__avatarcol {
  min-width: 0;
}

.sos-avatarwindow {
  height: 430px;
  padding: 10px;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 100px 100px 0 0;
  background:
    linear-gradient(to bottom, rgba(15,23,27,.88), rgba(8,14,17,.94)),
    var(--sos-post-top-bg) center center / cover no-repeat;
  box-shadow: 0 0 0 1px rgba(163,124,84,.12), 0 10px 30px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.02);
  overflow: hidden;
}

.sos-avatarwindow img,
.sos-avatarwindow .avatar img,
.sos-avatarwindow .avatar-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 88px 88px 0 0 !important;
  border: 1px solid rgba(163,124,84,.35) !important;
  background: var(--sos-deep);
}

.sos-mockprofile__rightcol {
  min-width: 0;
}

.sos-pillbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.sos-pill {
  min-height: 42px;
  padding: 7px 10px;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 999px;
  background: rgba(15,23,27,.88);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.sos-pill__label {
  color: #d7c3a4;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sos-pill__value {
  color: #95e0d0;
  font-size: 1rem;
  font-style: italic;
}

.sos-vitals {
  padding: 14px;
}

.sos-vitals__list {
  display: grid;
  gap: 8px;
}

.sos-vital {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid rgba(163,124,84,.36);
  border-radius: 999px;
  background: rgba(15,23,27,.78);
}

.sos-vital__label {
  color: #e9e4dc;
  font-family: var(--sos-font);
  font-size: 1rem;
  font-style: italic;
  letter-spacing: .04em;
}

.sos-vital__value {
  color: var(--sos-light);
  font-size: 1rem;
  text-align: left;
}

.sos-tiergrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.sos-tiercard {
  min-height: 260px;
  border: 1px solid rgba(163,124,84,.42);
  border-radius: 12px;
  background: rgba(15,23,27,.75);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  overflow: hidden;
}

.sos-tiercard__title {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(163,124,84,.32);
  text-align: center;
  color: #f0e1a2;
  font-family: var(--sos-font);
  font-size: 1.35rem;
  font-style: italic;
}

.sos-tiercard__body {
  padding: 14px;
  color: var(--sos-light);
  line-height: 1.65;
  text-align: justify;
}

.sos-copy {
  color: var(--sos-light);
  line-height: 1.8;
  text-align: justify;
  font-size: 1rem;
}

.sos-mentalitygrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.sos-mini-card {
  border: 1px solid rgba(163,124,84,.42);
  border-radius: 12px;
  background: rgba(15,23,27,.75);
  padding: 12px;
}

.sos-mini-card__title {
  margin-bottom: 8px;
  text-align: center;
  color: #5af1d0;
  font-family: var(--sos-font);
  font-size: 1.8rem;
  text-shadow: 0 0 8px rgba(0,0,0,.55);
}

.sos-mini-card__body {
  color: var(--sos-light);
  line-height: 1.7;
  text-align: center;
}

.sos-historyfamily {
  max-width: 62%;
  margin: 0 auto 14px;
  padding: 12px;
  border: 1px solid rgba(163,124,84,.36);
  border-radius: 10px;
  background: rgba(145,153,173,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.sos-historyfamily__title {
  margin-bottom: 8px;
  text-align: center;
  color: #d6d0ff;
  font-family: var(--sos-font);
  font-size: 1.8rem;
  text-shadow: 0 0 8px rgba(0,0,0,.55);
}

.sos-historyfamily__body {
  color: var(--sos-light);
  line-height: 1.7;
  text-align: center;
}

.sos-profile-signature {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(163,124,84,.22);
}

@media (max-width: 980px) {
  .sos-pillbar {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .sos-vital {
    grid-template-columns: 1fr;
    gap: 4px;
    border-radius: 18px;
  }

  .sos-tiergrid,
  .sos-mentalitygrid {
    grid-template-columns: 1fr;
  }

  .sos-historyfamily {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .sos-mockprofile__mainimage {
    height: 220px;
  }

  .sos-mockprofile__toprow {
    grid-template-columns: 1fr;
  }

  .sos-avatarwindow {
    max-width: 280px;
    margin: 0 auto;
    height: 380px;
  }

  .sos-mockprofile__name {
    font-size: 85px;
  }
}

/* =========================================================
   SOS PROFILE MOCKUP CALMER OVERRIDES
   paste BELOW the current profile css
   ========================================================= */

.sos-mockprofile {
  max-width: 860px;
}

.sos-mockprofile__namewrap {
  margin-bottom: 10px;
}

.sos-mockprofile__name {
  letter-spacing: .03em;
  color: var(--sos-brass);
  text-shadow: 0 0 6px rgba(0,0,0,.45);
}

.sos-card {
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: 14px;
}

.sos-section-title,
.sos-section-title--small,
.sos-mini-card__title,
.sos-historyfamily__title,
.sos-tiercard__title {
  color: var(--sos-brass);
  text-shadow: 0 0 6px rgba(0,0,0,.45);
}

.sos-section-title {
  font-size: 1.5rem;
  margin-bottom: 8px;
}

.sos-section-title--small {
  font-size: 1.35rem;
}

.sos-copy,
.sos-tiercard__body,
.sos-mini-card__body,
.sos-historyfamily__body,
.sos-vital__value {
  color: var(--sos-light);
  font-size: .95rem;
  line-height: 1.65;
}

.sos-vital__label,
.sos-pill__label {
  color: var(--sos-light);
  opacity: .85;
}

.sos-pill__value {
  color: var(--sos-light);
  font-style: normal;
}

.sos-mockprofile__hero {
  margin-bottom: 12px;
}

.sos-mockprofile__mainimage {
  height: 220px;
  padding: 10px;
  border-radius: 14px 14px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,20,23,.82);
}

.sos-mockprofile__mainimage img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  border: 1px solid rgba(163,124,84,.35);
  background: transparent;
}

.sos-mockprofile__thumbs {
  gap: 6px;
  padding-top: 6px;
}

.sos-gallery-thumb {
  width: 46px;
  height: 46px;
  border-radius: 4px;
}

.sos-mockprofile__toprow {
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-bottom: 12px;
}

.sos-mockprofile__rightcol {
  display: flex;
  flex-direction: column;
  min-height: 360px;
}

.sos-avatarwindow {
  height: 360px;
  padding: 8px;
  border-radius: 80px 80px 0 0;
}

.sos-avatarwindow img,
.sos-avatarwindow .avatar img,
.sos-avatarwindow .avatar-image img {
  border-radius: 72px 72px 0 0 !important;
}

.sos-pillbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}

.sos-pill {
  min-height: 34px;
  padding: 5px 8px;
  font-size: .86rem;
}

.sos-vitals {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 10px;
}

.sos-vitals__list {
  flex: 1;
  gap: 6px;
}

.sos-vital {
  grid-template-columns: 145px minmax(0,1fr);
  min-height: 30px;
  padding: 5px 10px;
  gap: 8px;
}

.sos-vital__label,
.sos-vital__value {
  font-size: .9rem;
}

.sos-tiergrid {
  gap: 10px;
}

.sos-tiercard {
  min-height: 210px;
}

.sos-tiercard__title {
  padding: 8px 10px;
  font-size: 1.15rem;
}

.sos-tiercard__body {
  padding: 10px;
  font-size: .92rem;
}

.sos-mentalitygrid {
  gap: 10px;
}

.sos-mini-card {
  padding: 10px;
}

.sos-mini-card__title {
  font-size: 1.35rem;
  margin-bottom: 6px;
}

.sos-historyfamily {
  max-width: 56%;
  margin-bottom: 10px;
  padding: 10px;
}

.sos-historyfamily__title {
  font-size: 1.35rem;
  margin-bottom: 6px;
}

.sos-profile-signature {
  margin-top: 12px;
  padding-top: 12px;
}

@media (max-width: 980px) {
  .sos-pillbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sos-historyfamily {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .sos-mockprofile {
    max-width: 100%;
  }

  .sos-mockprofile__mainimage {
    height: 180px;
  }

  .sos-mockprofile__toprow {
    grid-template-columns: 1fr;
  }

  .sos-mockprofile__rightcol {
    min-height: 0;
  }

  .sos-avatarwindow {
    max-width: 240px;
    height: 320px;
    margin: 0 auto;
  }

  .sos-vital {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }
}

/* =========================================================
   SOS PROFILE MOCKUP - tighter / calmer / real-image fix
   ========================================================= */

.sos-mockprofile {
  max-width: 760px;
}

.sos-mockprofile__namewrap {
  margin-bottom: 8px;
}

.sos-mockprofile__name {
  letter-spacing: .03em;
  color: var(--sos-brass);
  text-shadow: 0 0 6px rgba(0,0,0,.45);
}

.sos-card {
  padding: 10px 12px;
  margin-bottom: 10px;
  border-radius: 14px;
}

.sos-section-title,
.sos-section-title--small,
.sos-mini-card__title,
.sos-historyfamily__title,
.sos-tiercard__title {
  color: var(--sos-brass) !important;
  text-shadow: 0 0 6px rgba(0,0,0,.45);
}

.sos-section-title {
  font-size: 1.45rem;
  margin-bottom: 8px;
}

.sos-section-title--small {
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.sos-copy,
.sos-tiercard__body,
.sos-mini-card__body,
.sos-historyfamily__body,
.sos-vital__label,
.sos-vital__value,
.sos-pill__label,
.sos-pill__value {
  color: var(--sos-light) !important;
}

.sos-copy,
.sos-tiercard__body,
.sos-mini-card__body,
.sos-historyfamily__body {
  font-size: .88rem;
  line-height: 1.6;
}

.sos-pill__label,
.sos-pill__value,
.sos-vital__label,
.sos-vital__value {
  font-size: .8rem;
}

.sos-mockprofile__hero {
  margin-bottom: 10px;
}

.sos-mockprofile__mainimage {
  height: 160px;
  padding: 8px;
  border-radius: 12px 12px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,20,23,.82);
  overflow: hidden;
}

.sos-mockprofile__mainimage img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  border: 1px solid rgba(163,124,84,.35);
  background: transparent;
}

.sos-mockprofile__thumbs {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 6px 8px 0;
}

.sos-gallery-thumb {
  width: 42px;
  height: 42px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(163,124,84,.45);
  border-radius: 4px;
  background: rgba(15,23,27,.9) !important;
  cursor: pointer;
  transition: transform .15s ease, border-color .2s ease, box-shadow .2s ease;
}

.sos-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sos-gallery-thumb:hover,
.sos-gallery-thumb.is-active {
  transform: translateY(-1px);
  border-color: rgba(163,124,84,.85);
  box-shadow: 0 0 0 2px rgba(163,124,84,.16);
}

.sos-mockprofile__toprow {
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  margin-bottom: 10px;
}

.sos-mockprofile__avatarcol {
  min-width: 0;
}

.sos-avatarwindow {
  height: 350px;
  padding: 8px;
  border-radius: 80px 80px 0 0;
}

.sos-avatarwindow img,
.sos-avatarwindow .avatar img,
.sos-avatarwindow .avatar-image img {
  border-radius: 72px 72px 0 0 !important;
}

.sos-mockprofile__rightcol {
  display: flex;
  flex-direction: column;
  height: 350px;
  min-height: 350px;
}

.sos-pillbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 6px;
}

.sos-pill {
  min-height: 30px;
  padding: 4px 8px;
}

.sos-vitals {
  flex: 1;
  min-height: 0;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
}

.sos-vitals__list {
  flex: 1;
  gap: 4px;
}

.sos-vital {
  grid-template-columns: 110px minmax(0,1fr);
  gap: 8px;
  min-height: 22px;
  padding: 3px 8px;
}

.sos-tiergrid {
  gap: 8px;
}

.sos-tiercard {
  min-height: 180px;
}

.sos-tiercard__title {
  padding: 7px 10px;
  font-size: 1rem;
}

.sos-tiercard__body {
  padding: 10px;
  font-size: .84rem;
}

.sos-mentalitygrid {
  gap: 8px;
}

.sos-mini-card {
  padding: 10px;
}

.sos-mini-card__title {
  font-size: 1.15rem;
  margin-bottom: 6px;
}

.sos-historyfamily {
  max-width: 54%;
  margin: 0 auto 10px;
  padding: 8px 10px;
}

.sos-historyfamily__title {
  font-size: 1.15rem;
  margin-bottom: 5px;
}

.sos-profile-signature {
  margin-top: 10px;
  padding-top: 10px;
}

@media (max-width: 900px) {
  .sos-pillbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sos-historyfamily {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .sos-mockprofile {
    max-width: 100%;
  }

  .sos-mockprofile__mainimage {
    height: 140px;
  }

  .sos-mockprofile__toprow {
    grid-template-columns: 1fr;
  }

  .sos-mockprofile__rightcol {
    height: auto;
    min-height: 0;
  }

  .sos-avatarwindow {
    max-width: 220px;
    height: 300px;
    margin: 0 auto;
  }

  .sos-vital {
    grid-template-columns: 1fr;
    border-radius: 12px;
  }
}

/* =========================================================
   SOS PROFILE TOP FIX
   ========================================================= */

.sos-mockprofile {
  max-width: 760px !important;
}

/* ---------- top gallery ---------- */

.sos-mockprofile__hero {
  margin: 0 0 10px 0 !important;
  text-align: center !important;
}

.sos-gallery-radio {
  position: absolute !important;
  left: -9999px !important;
}

.sos-gallery-panels {
  margin-bottom: 6px !important;
}

.sos-gallery-stage {
  display: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
max-width: 400px !important;
}

.sos-gallery-stage img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  object-fit: contain !important;
max-width: 400px !important;
}

#sos-gallery-1:checked ~ .sos-gallery-panels .sos-gallery-stage--1,
#sos-gallery-2:checked ~ .sos-gallery-panels .sos-gallery-stage--2,
#sos-gallery-3:checked ~ .sos-gallery-panels .sos-gallery-stage--3,
#sos-gallery-4:checked ~ .sos-gallery-panels .sos-gallery-stage--4 {
  display: block !important;
}

.sos-mockprofile__thumbs {
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sos-gallery-thumb {
  width: 34px !important;
  height: 34px !important;
  display: block !important;
  overflow: hidden !important;
  border: 1px solid rgba(163,124,84,.45) !important;
  border-radius: 4px !important;
  background: rgba(15,23,27,.9) !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.sos-gallery-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#sos-gallery-1:checked ~ .sos-mockprofile__thumbs label[for="sos-gallery-1"],
#sos-gallery-2:checked ~ .sos-mockprofile__thumbs label[for="sos-gallery-2"],
#sos-gallery-3:checked ~ .sos-mockprofile__thumbs label[for="sos-gallery-3"],
#sos-gallery-4:checked ~ .sos-mockprofile__thumbs label[for="sos-gallery-4"] {
  border-color: rgba(163,124,84,.9) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,.2) !important;
}

/* ---------- avatar + vitals row ---------- */

.sos-mockprofile__toprow {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  justify-content: start !important;
  margin-bottom: 10px !important;
}

.sos-mockprofile__avatarcol {
  width: 200px !important;
  min-width: 200px !important;
}

.sos-avatarwindow {
  width: 200px !important;
  height: 400px !important;
  padding: 8px !important;
  border-radius: 95px 95px 0 0 !important;
  overflow: hidden !important;
}

.sos-avatarwindow img,
.sos-avatarwindow .avatar img,
.sos-avatarwindow .avatar-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 86px 86px 0 0 !important;
}

.sos-mockprofile__rightcol {
  width: 100% !important;
  max-width: 520px !important;
  height: 400px !important;
  min-height: 400px !important;
  display: flex !important;
  flex-direction: column !important;
}

.sos-pillbar {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  margin-bottom: 4px !important;
}

.sos-pill {
  min-height: 28px !important;
  padding: 2px 6px !important;
}

.sos-pill__label,
.sos-pill__value {
  font-size: .72rem !important;
  line-height: 1.1 !important;
  color: var(--sos-light) !important;
  font-style: normal !important;
}

.sos-vitals {
  flex: 1 1 auto !important;
  height: calc(400px - 32px) !important;
  max-height: calc(400px - 32px) !important;
  min-height: 0 !important;
  padding: 6px 8px !important;
  overflow: hidden !important;
}

.sos-vitals .sos-section-title--small {
  font-size: 1rem !important;
  margin-bottom: 4px !important;
}

.sos-vitals__list {
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  gap: 3px !important;
  padding-right: 2px !important;
}

.sos-vital {
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 6px !important;
  min-height: 20px !important;
  padding: 2px 7px !important;
}

.sos-vital__label,
.sos-vital__value {
  font-size: .72rem !important;
  line-height: 1.1 !important;
  color: var(--sos-light) !important;
}

@media (max-width: 760px) {
  .sos-mockprofile__toprow {
    grid-template-columns: 1fr !important;
  }

  .sos-mockprofile__avatarcol {
    width: auto !important;
    min-width: 0 !important;
  }

  .sos-avatarwindow {
    margin: 0 auto !important;
  }

  .sos-mockprofile__rightcol {
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .sos-vitals {
    height: auto !important;
    max-height: none !important;
  }

  .sos-vital {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   SOS FOOTER PRETTY PASS
   ========================================= */

#debug{
  display:none !important;
}

#footer{
  background: transparent !important;
  margin-top: 34px !important;
}

.sos-footer{
  position: relative;
  background:
    linear-gradient(to bottom, rgba(5,11,15,.82), rgba(5,11,15,.92)),
    url(https://i.imgur.com/JxTdugo.jpeg) center 62% / cover no-repeat !important;
  border-top: 1px solid rgba(163,124,84,.22) !important;
  box-shadow: inset 0 1px 0 rgba(163,124,84,.08);
  padding: 30px 0 36px !important;
}

.sos-footer::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(100% - 40px);
  max-width: 1120px;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(to right, transparent, rgba(163,124,84,.55), transparent);
}

.sos-footer__inner{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 34px !important;
  align-items: start;
}

.sos-footer__left{
  min-width: 0;
}

.sos-footer__right{
  width: 100%;
  min-width: 0 !important;
}

.sos-footer__links{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  list-style: none !important;
}

.sos-footer__links li{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.sos-footer__links a{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid rgba(163,124,84,.30);
  border-radius: 999px;
  background: rgba(8,16,20,.58);
  color: #d6c3a8 !important;
  text-decoration: none !important;
  font-size: .92rem;
  letter-spacing: .03em;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .15s ease;
}

.sos-footer__links a:hover{
  border-color: rgba(163,124,84,.65);
  background: rgba(20,28,32,.82);
  color: #f0e2cf !important;
  transform: translateY(-1px);
}

.sos-footer__credit{
  color: #aeb4ba !important;
  font-size: .86rem !important;
  line-height: 1.8 !important;
  max-width: 720px;
}

.sos-footer__creditline{
  display: block;
}

.sos-footer__credit a{
  color: #d6c3a8 !important;
}

.sos-footer__credit a:hover{
  color: #f0e2cf !important;
}

.sos-footer__search{
  width: 100%;
}

.sos-footer__search .input-group{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px !important;
  align-items: stretch;
}

.sos-footer__search .form-control{
  min-height: 48px;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  background: rgba(8,16,20,.78) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  color: #d4d6d6 !important;
  box-shadow: none !important;
}

.sos-footer__search .form-control::placeholder{
  color: #7f8a91 !important;
  opacity: 1;
}

.sos-footer__search .button{
  min-width: 122px;
  min-height: 48px;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  background: rgba(47,54,56,.95) !important;
  border: 1px solid rgba(163,124,84,.35) !important;
  color: #e6e3d6 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  box-shadow: none !important;
}

.sos-footer__search .button:hover{
  background: rgba(60,69,73,.98) !important;
  border-color: rgba(163,124,84,.7) !important;
  color: #fff4e6 !important;
}

@media (max-width: 900px){
  .sos-footer__inner{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .sos-footer__right{
    max-width: 100%;
  }

  .sos-footer__search .input-group{
    grid-template-columns: 1fr;
  }

  .sos-footer__search .button{
    width: 100%;
  }
}

.sos-post__side{
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  position: relative !important;
  overflow: visible !important;
  align-self: start !important;
}

.sos-post__stickwrap{
  position: relative !important;
  transform: translateY(0);
  will-change: transform;
}

.sos-post__grid{
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

.sos-post,
.sos-post__grid,
.sos-post__main,
.sos-post__body{
  overflow: visible !important;
}

@media (max-width: 991px){
  .sos-post__stickwrap{
    transform: none !important;
  }
}

/* member area in top nav */
.sos-topbar__member{
  margin-left: auto;
  display: flex;
  align-items: center;
  min-width: 0;
}

.sos-memberbar{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  min-width: 0;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.sos-memberbar__links{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.sos-memberbar__links li{
  margin: 0;
  padding: 0;
  list-style: none;
  float: none !important;
}

.sos-memberbar__links a{
  display: block !important;
  padding: 22px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--sos-text) !important;
  font-family: var(--sos-font) !important;
  font-size: inherit !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1 !important;
  text-decoration: none !important;
  min-height: 0 !important;
}

.sos-memberbar__links a:hover,
.sos-memberbar__links a:focus{
  background: transparent !important;
  border: 0 !important;
  color: var(--sos-light) !important;
  text-shadow: none !important;
}

.sos-memberbar__welcome{
  white-space: nowrap;
  color: var(--sos-text);
  font-family: var(--sos-font);
  font-size: inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-memberbar__welcome span{
  color: var(--sos-brass);
}

/* keep everything on one row a bit longer */
.menuwrapper .wrapper.sos-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.sos-topbar__nav{
  display: flex;
  align-items: center;
  min-width: 0;
}

/* optional: tighten spacing a little if needed */
.sos-topbar__nav .menu{
  gap: 34px !important;
}

@media (max-width: 1400px){
  .sos-memberbar,
  .sos-memberbar__links{
    gap: 18px;
  }

  .sos-topbar__nav .menu{
    gap: 24px !important;
  }
}

@media (max-width: 1100px){
  .menuwrapper .wrapper.sos-topbar{
    flex-direction: column;
    justify-content: center;
    padding: 8px 0;
  }

  .sos-topbar__member{
    margin-left: 0;
  }

  .sos-memberbar{
    flex-direction: column-reverse;
    gap: 10px;
    flex-wrap: wrap !important;
  }

  .sos-memberbar__links{
    justify-content: center;
    flex-wrap: wrap !important;
  }

  .sos-memberbar__welcome{
    text-align: center;
  }

  .sos-topbar__nav .menu{
    justify-content: center;
  }
}

.sos-topbar__member{
  margin-left: auto;
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 0 1 auto;
}

.sos-memberbar{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.sos-memberbar__links{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

.sos-memberbar__links li{
  margin: 0;
  padding: 0;
  list-style: none;
  float: none !important;
}

.sos-memberbar__links a{
  display: block !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--sos-text) !important;
  font-family: var(--sos-font) !important;
  font-size: 0.82rem !important;
  font-style: normal !important;
  font-weight: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1 !important;
  text-decoration: none !important;
  min-height: 0 !important;
  white-space: nowrap !important;
}

.sos-memberbar__links a:hover,
.sos-memberbar__links a:focus{
  background: transparent !important;
  border: 0 !important;
  color: var(--sos-light) !important;
  text-shadow: none !important;
}

/* kill icons / little symbols */
.sos-memberbar__links i,
.sos-memberbar__links svg,
.sos-memberbar__links img,
.sos-memberbar__links .fa,
.sos-memberbar__links .fas,
.sos-memberbar__links .far,
.sos-memberbar__links .fal,
.sos-memberbar__links .fab,
.sos-memberbar__links .fa-fw,
.sos-memberbar__links .icon{
  display: none !important;
}

.sos-memberbar__links a::before,
.sos-memberbar__links a::after{
  display: none !important;
  content: none !important;
}

.sos-memberbar__welcome{
  white-space: nowrap;
  color: var(--sos-text);
  font-family: var(--sos-font);
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1;
}

.sos-memberbar__welcome span{
  color: var(--sos-brass);
}

/* tighten the whole bar */
.menuwrapper .wrapper.sos-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.sos-topbar__nav{
  display: flex;
  align-items: center;
  min-width: 0;
}

.sos-topbar__nav .menu{
  gap: 22px !important;
}

.sos-topbar__nav .menu a,
ul.menu li a{
  padding: 0 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* give the fixed nav a compact height */
.menuwrapper,
.menuwrapper .menu,
ul.menu{
  min-height: 20px !important;
}

.menuwrapper .wrapper{
  padding: 14px 0 !important;
}

@media (max-width: 1400px){
  .sos-topbar__nav .menu{
    gap: 16px !important;
  }

  .sos-memberbar{
    gap: 12px;
  }

  .sos-memberbar__links{
    gap: 10px;
  }

  .sos-memberbar__links a,
  .sos-memberbar__welcome,
  .sos-topbar__nav .menu a,
  ul.menu li a{
    font-size: 0.76rem !important;
    letter-spacing: 0.04em !important;
  }
}

@media (max-width: 1100px){
  .menuwrapper .wrapper.sos-topbar{
    flex-direction: column;
    justify-content: center;
    padding: 8px 0;
  }

  .sos-topbar__member{
    margin-left: 0;
  }

  .sos-memberbar{
    flex-direction: column-reverse;
    gap: 8px;
    flex-wrap: wrap !important;
  }

  .sos-memberbar__links{
    justify-content: center;
    flex-wrap: wrap !important;
  }

  .sos-memberbar__welcome{
    text-align: center;
  }

  .sos-topbar__nav .menu{
    justify-content: center;
    flex-wrap: wrap !important;
  }
}

.menuwrapper .wrapper.sos-topbar{
  justify-content: flex-start !important;
  gap: 10px !important;
}

.sos-topbar__member{
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}

.sos-topbar__nav{
  flex: 0 0 auto !important;
}

.sos-memberbar{
  gap: 10px !important;
}

.sos-memberbar__links{
  gap: 10px !important;
}

#logobanner {
  position: relative !important;
  min-height: 550px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  z-index: 1 !important;
  overflow: visible !important;
}

.floating-banner-wrapper {
  position: absolute;
  top: 2%;
  left: 2%;
  opacity: 1;
  transition: opacity 0.6s ease-in-out;
  pointer-events: auto;
  z-index: 10;
  text-align: left;
  padding-left: 100px;
}

.floating-banner-wrapper.fade-out {
  opacity: 0;
  pointer-events: none;
}

.floating-banner {
  display: inline-block;
  pointer-events: none;
}

.banner-flex {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 60px;
  pointer-events: auto;
}

.hover-text {
  font-size: 55px;
  font-family: 'IM Fell English', serif;
  font-style: italic;
  color: #787F87 !important;
  text-decoration: none !important;
  text-shadow: 3px 5px 10px #000;
  transition: all 0.3s ease-in-out;
}

.banner-flex:hover .hover-text {
  color: var(--sos-brass, #A37C54) !important;
  transform: scale(1.1);
  text-shadow: 0 0 25px rgba(112, 92, 75, 1), 0 0 35px rgba(112, 92, 75, 1);
  font-weight: 400;
}

.line {
  display: inline-block;
  height: 2px;
  width: 0;
  background-color: #787F87;
  transition: width 1s ease;
}

.banner-flex:hover .line {
  width: 120px;
}

.floating-banner-subtext {
  font-size: 30px;
  font-family: 'IM Fell English', serif;
  font-style: italic;
  font-weight: 400;
  color: #49535B;
  text-shadow: 3px 5px 5px #000, 0 0 10px #000;
  margin-top: -20px;
  pointer-events: none;
  padding-left: 250px;
}

.floating-banner-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 15px;
  opacity: 0;
  padding-left: 500px;
  pointer-events: none;
  transition: opacity 0.4s ease;
 font-style: italic;
}

.floating-banner-wrapper.show-links .floating-banner-links {
  opacity: 1;
  pointer-events: auto;
}

.link-wrapper {
  position: relative;
  height: 30px;
}

.reveal-link {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transform: translateY(10px) scale(1);
  font-family: 'IM Fell English', serif;
  font-size: 40px;
  color: #787F87 !important;
  text-decoration: none !important;
  text-shadow: 0 0 10px rgba(0, 0, 0, 1);
  transition:
    opacity 0.3s ease,
    transform 0.5s ease-in-out,
    text-shadow 0.3s ease-in-out,
    color 0.3s ease-in-out;
  pointer-events: none;
}

.reveal-link:hover {
  color: var(--sos-brass, #A37C54) !important;
  transform: translateY(10px) scale(1.1);
  text-shadow: 0 0 45px rgba(237, 243, 232, 0.8);
  font-weight: 400;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(1) .reveal-link {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
  pointer-events: auto;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(2) .reveal-link {
  opacity: 1;
  transform: translate(60px, 20px);
  transition-delay: 0.2s;
  pointer-events: auto;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(3) .reveal-link {
  opacity: 1;
  transform: translate(120px, 40px);
  transition-delay: 0.7s;
  pointer-events: auto;
}

.reveal-link::before,
.reveal-link::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 0;
  height: 2px;
  background-color: #a1aaaf;
  opacity: 0;
  transition: width 0.5s ease, opacity 0.3s ease;
}

.reveal-link::before {
  right: 100%;
  margin-right: 12px;
}

.reveal-link::after {
  left: 100%;
  margin-left: 12px;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(1) .reveal-link::before,
.floating-banner-wrapper.show-links .link-wrapper:nth-child(1) .reveal-link::after {
  width: 100px;
  opacity: 0.6;
  transition-delay: 0.4s;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(2) .reveal-link::before,
.floating-banner-wrapper.show-links .link-wrapper:nth-child(2) .reveal-link::after {
  width: 100px;
  opacity: 0.6;
  transition-delay: 0.6s;
}

.floating-banner-wrapper.show-links .link-wrapper:nth-child(3) .reveal-link::before,
.floating-banner-wrapper.show-links .link-wrapper:nth-child(3) .reveal-link::after {
  width: 100px;
  opacity: 0.6;
  transition-delay: 0.8s;
}

html:has(#custom-page-visual) .floating-banner-wrapper {
  display: none !important;
}

@media (max-width: 1100px) {
  .floating-banner-wrapper {
    left: 50%;
    top: 18%;
    transform: translateX(-50%);
    padding-left: 0;
    width: 90%;
    text-align: center;
  }

  .banner-flex {
    justify-content: center;
    gap: 20px;
  }

  .hover-text {
    font-size: clamp(2rem, 6vw, 3rem);
  }

  .floating-banner-subtext {
    padding-left: 0;
    margin-top: 8px;
    font-size: clamp(1.1rem, 3vw, 1.6rem);
    text-align: center;
  }

  .floating-banner-links {
    padding-left: 0;
    align-items: center;
  }

  .link-wrapper {
    height: auto;
  }

  .reveal-link {
    position: relative;
    font-size: clamp(1.4rem, 4vw, 2rem);
  }

  .floating-banner-wrapper.show-links .link-wrapper:nth-child(1) .reveal-link,
  .floating-banner-wrapper.show-links .link-wrapper:nth-child(2) .reveal-link,
  .floating-banner-wrapper.show-links .link-wrapper:nth-child(3) .reveal-link {
    transform: none;
  }

  .reveal-link::before,
  .reveal-link::after {
    display: none;
  }
}

/* =========================================================
   WELCOME TABLE - missing row restore
   ========================================================= */

.welcome__content--character-year,
.welcome__content--otm {
  flex: 0 0 calc(50% - 5px);
  max-width: calc(50% - 5px);
}

/* CHARACTER OF THE YEAR */
.welcome__content--character-year {
  align-items: flex-start;
}

.welcome__character-year {
  width: 100%;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  padding: 14px;
  box-sizing: border-box;
}

.character-year__body {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.character-year__image {
  flex: 0 0 150px;
  width: 150px;
  height: 200px;
}

.character-year__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(163,124,84,.56);
  border-radius: 100px 100px 0 0;
  background: var(--sos-deep);
}

.character-year__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.character-year__name {
  margin-bottom: 8px;
  padding: 8px 10px;
  background: var(--sos-panel-3);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  color: var(--sos-light);
  font-size: .95rem;
  line-height: 1.35;
}

.character-year__desc {
  padding: 10px 12px;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  color: var(--sos-text);
  line-height: 1.6;
  text-align: justify;
  font-size: .88rem;
  flex: 1 1 auto;
  min-height: 148px;
}

/* OF THE MONTH */
.welcome__content--otm {
  justify-content: center;
  gap: 12px;
  align-content: flex-start;
}

.welcome__title--otm {
  width: 100%;
  margin-bottom: 6px;
  padding: 9px 10px 8px;
  background: var(--sos-deep);
  border: 1px solid var(--sos-border);
  border-radius: 5px;
  text-align: center;
  box-sizing: border-box;
}

.welcome__title--otm p {
  margin: 0;
  color: var(--sos-brass);
  font-family: var(--sos-font);
  font-size: 1.4rem;
  font-style: italic;
}

.hover-avatar--otm {
  width: 150px;
  height: 200px;
  flex: 0 0 150px;
}

.hover-avatar--otm img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* mobile */
@media (max-width: 1100px) {
  .welcome__row {
    flex-wrap: wrap;
  }

  .welcome__content--character-year,
  .welcome__content--otm {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .character-year__body {
    flex-direction: column;
    align-items: center;
  }

  .character-year__image {
    width: 150px;
    height: 200px;
  }

  .character-year__info {
    width: 100%;
  }

  .welcome__content--otm {
    justify-content: center;
  }
}
/* taller OTM cards only */
.hover-avatar--otm {
  height: 240px;
}

.hover-avatar--otm img {
  height: 240px;
}

/* keep the hover zoom from shrinking awkwardly */
.hover-avatar--otm:hover img {
  height: 270px;
}


/*=================fad in forums====================*/

.fade-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.fade-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

.welcome.fade-scroll {
  transform: none !important;
}

.welcome.fade-scroll.visible {
  transform: none !important;
}

/* wider footer search area */
.sos-footer__inner{
  grid-template-columns: minmax(0, 1fr) 520px !important;
}

.sos-footer__right{
  width: 520px !important;
  max-width: 520px !important;
  min-width: 520px !important;
}

.sos-footer__search .input-group{
  grid-template-columns: minmax(0, 1fr) 140px !important;
}

.sos-footer__search .form-control{
  width: 100% !important;
}

/* =========================================================
   USER CP - REAL MARKUP FIX
   targets the HTML you just showed me
   ========================================================= */

/* shell width / columns */
table.sos-ucp-shell {
  width: 100% !important;
  max-width: 1150px !important;
  margin: 0 auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
}

table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 250px !important;
  vertical-align: top !important;
}

table.sos-ucp-shell > tbody > tr > td.sos-ucp-main {
  vertical-align: top !important;
}

.sos-ucp-main,
.sos-ucp-stack {
  position: relative;
  min-width: 0;
}

/* hide empty wrapper panels */
.sos-ucp-panel:empty {
  display: none !important;
}

/* =========================================================
   SUMMARY CARD
   ========================================================= */

.sos-ucp-summary {
  position: relative;
  overflow: hidden;
  background: rgba(9, 19, 23, 0.52) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
  margin: 0 0 18px 0 !important;
}

.sos-ucp-summary .thead {
  background: #2F3638 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(163,124,84,0.40) !important;
}

.sos-ucp-summary .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-summary .trow2.sos-ucp-summary-cell {
  position: relative;
  min-height: 440px;
  padding: 18px 18px 18px 286px !important;
  background: rgba(7, 19, 23, 0.58) !important;
  vertical-align: top !important;
}

/* the actual portrait in my markup */
.sos-ucp-stack > img.rounded-circle {
  position: absolute !important;
  top: 58px !important;
  left: 18px !important;
  width: 250px !important;
  height: 400px !important;
  min-width: 250px !important;
  min-height: 400px !important;
  max-width: 250px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  border-radius: 125px 125px 10px 10px !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.16),
    0 12px 30px rgba(0,0,0,0.45) !important;
  z-index: 3 !important;
  margin: 0 !important;
}

/* summary inner layout */
.sos-ucp-summary-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, 410px) minmax(0, 1fr) !important;
  gap: 22px !important;
  min-height: 400px !important;
  align-items: stretch !important;
}

.sos-ucp-summary-info {
  background: rgba(9,19,23,0.84) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.sos-ucp-summary-side {
  background: rgba(9,19,23,0.20) !important;
  border-left: 1px solid rgba(163,124,84,0.14) !important;
  min-height: 100% !important;
}

/* summary typography */
.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block !important;
  margin-bottom: 14px !important;
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2.2rem !important;
  line-height: 1.05 !important;
  font-style: italic !important;
  text-decoration: none !important;
}

.sos-ucp-summary-meta {
  color: #b8bcc2 !important;
  line-height: 1.85 !important;
}

.sos-ucp-summary-meta > div {
  margin-bottom: 2px !important;
}

.sos-ucp-summary-meta strong {
  color: #d4d6d6 !important;
}

.sos-ucp-summary-meta a {
  color: #d7c3a4 !important;
}

/* referral box */
.sos-ucp-summary-meta .alert.bg-white {
  margin-top: 16px !important;
  background: rgba(9,19,23,0.76) !important;
  color: #b8bcc2 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 14px !important;
  box-shadow: none !important;
}

.sos-ucp-summary-meta .alert.bg-white br:first-child {
  display: none !important;
}

/* =========================================================
   THREADS PANEL
   ========================================================= */

.sos-ucp-panel--threads {
  background: rgba(7,19,23,0.56) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
  padding: 18px !important;
  margin: 0 0 18px 0 !important;
}

/* title strip */
.sos-ucp-panel--threads .legend {
  margin: 0 0 12px 0 !important;
  padding: 14px 18px !important;
  background: rgba(47,54,56,0.92) !important;
  border: 1px solid rgba(163,124,84,0.36) !important;
}

.sos-ucp-panel--threads .legend,
.sos-ucp-panel--threads .legend * {
  color: #d4d6d6 !important;
  text-shadow: none !important;
}

.sos-ucp-panel--threads .btn.btn-multipage {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #d7c3a4 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-style: italic !important;
}

/* actual thread rows */
.sos-ucp-panel--threads .d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block > .row,
.sos-ucp-panel--threads .row.ps-3.pt-3.pe-3.pb-3.border-bottom.m-0 {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.16) !important;
  border-radius: 4px !important;
  margin: 0 0 10px 0 !important;
  padding: 16px 18px !important;
}

/* remove harsh default divider */
.sos-ucp-panel--threads .border-bottom {
  border-bottom: 1px solid rgba(163,124,84,0.18) !important;
}

/* text colors */
.sos-ucp-panel--threads a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

.sos-ucp-panel--threads .text-muted,
.sos-ucp-panel--threads span.text-muted {
  color: #97a0aa !important;
}

.sos-ucp-panel--threads .lastpostbit a {
  color: #e5d5bf !important;
}

.sos-ucp-panel--threads i.bi {
  color: #A37C54 !important;
  font-size: 1.4rem !important;
}

/* =========================================================
   NOTEPAD
   ========================================================= */

.sos-ucp-panel--notepad form > br {
  display: none !important;
}

.sos-ucp-panel--notepad .tborder {
  background: rgba(7,19,23,0.56) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
}

.sos-ucp-panel--notepad .thead {
  background: #2F3638 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(163,124,84,0.40) !important;
}

.sos-ucp-panel--notepad .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-panel--notepad .trow1 {
  background: rgba(9,19,23,0.72) !important;
  padding: 18px !important;
}

textarea.usercp_notepad,
.sos-ucp-main textarea {
  width: 100% !important;
  min-height: 220px !important;
  background: rgba(9,19,23,0.84) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  padding: 14px !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;
}

.sos-ucp-panel--notepad div[align="center"] {
  text-align: left !important;
  margin-top: 12px !important;
}

.sos-ucp-main input.button,
.sos-ucp-main input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px !important;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.sos-ucp-main input.button:hover,
.sos-ucp-main input[type="submit"]:hover {
  background: #151f24 !important;
  border-color: rgba(163,124,84,0.58) !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 1100px) {
  .sos-ucp-stack > img.rounded-circle {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block !important;
    margin: 0 auto 18px auto !important;
  }

  .sos-ucp-summary .trow2.sos-ucp-summary-cell {
    padding: 18px !important;
    min-height: auto !important;
  }

  .sos-ucp-summary-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .sos-ucp-summary-side {
    min-height: 140px !important;
  }
}

@media screen and (max-width: 980px) {
  table.sos-ucp-shell,
  table.sos-ucp-shell > tbody,
  table.sos-ucp-shell > tbody > tr,
  table.sos-ucp-shell > tbody > tr > td {
    display: block !important;
    width: 100% !important;
  }

  table.sos-ucp-shell {
    border-spacing: 0 !important;
  }

  table.sos-ucp-shell > tbody > tr > td:first-child {
    margin-bottom: 18px !important;
  }
}

/* =========================================================
   USER CP MAIN PAGE LAYOUT FIX
   ========================================================= */

table.sos-ucp-shell {
  width: 100% !important;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 18px 0;
  table-layout: fixed;
  margin: 0 auto;
}

table.sos-ucp-shell > tbody > tr > td {
  vertical-align: top;
}

table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 260px !important;
}

table.sos-ucp-shell > tbody > tr > td:last-child {
  width: auto !important;
}

.sos-ucp-stack {
  width: 100%;
}

.sos-ucp-stack > .tborder,
.sos-ucp-main > .tborder,
.sos-ucp-main table.tborder {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
}

.sos-ucp-main br + .tborder,
.sos-ucp-main .tborder + br {
  display: none;
}

/* main cards */
.sos-ucp-main .tborder {
  background: #091317 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
}

.sos-ucp-main .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
  padding: 14px 18px !important;
}

.sos-ucp-main .thead strong,
.sos-ucp-main .thead a {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-main .trow1,
.sos-ucp-main .trow2 {
  background: #0f171b !important;
  color: #969ca5 !important;
  border-top: 1px solid rgba(163,124,84,0.10) !important;
  border-bottom: 1px solid rgba(163,124,84,0.10) !important;
  padding: 16px 18px !important;
}

.sos-ucp-main .tcat {
  background: #151f24 !important;
  color: #A37C54 !important;
  border-top: 1px solid rgba(163,124,84,0.22) !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
  padding: 12px 18px !important;
}

.sos-ucp-main .tcat strong {
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* account summary */
.sos-ucp-summary td {
  vertical-align: top;
}

.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block;
  margin-bottom: 10px;
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2rem;
  line-height: 1.1;
  font-style: italic;
  text-decoration: none !important;
}

.sos-ucp-summary strong {
  color: #d4d6d6 !important;
}

/* avatar cell in summary */
.sos-ucp-summary td:first-child {
  width: 120px;
  padding: 18px !important;
}

.sos-ucp-summary td:first-child img {
  display: block;
  width: 90px !important;
  height: 90px !important;
  object-fit: cover;
  border-radius: 60px 60px 8px 8px;
  border: 2px solid rgba(163,124,84,0.45);
  background: #091317;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
}

/* latest threads / subscribed / warnings tables */
.sos-ucp-main table {
  table-layout: fixed;
}

.sos-ucp-main .tborder td {
  word-wrap: break-word;
}

.sos-ucp-main .tborder .smalltext,
.sos-ucp-main .smalltext {
  color: #969ca5 !important;
}

/* notepad */
.sos-ucp-main textarea,
.sos-ucp-main textarea.usercp_notepad {
  width: 100% !important;
  min-height: 220px !important;
  resize: vertical;
  background: #091317 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  padding: 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;
  box-sizing: border-box;
}

/* normal-sized fields for later subpages too */
.sos-ucp-main input.textbox,
.sos-ucp-main select,
.sos-ucp-main input[type="text"],
.sos-ucp-main input[type="password"],
.sos-ucp-main input[type="email"] {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px;
  background: #091317 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  padding: 0 12px !important;
  box-sizing: border-box;
}

/* buttons */
.sos-ucp-main input.button,
.sos-ucp-main button,
.sos-ucp-main input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none !important;
}

.sos-ucp-main input.button:hover,
.sos-ucp-main button:hover,
.sos-ucp-main input[type="submit"]:hover {
  background: #151f24 !important;
  color: #f1dfc8 !important;
  border-color: rgba(163,124,84,0.60) !important;
}

/* keep the notepad button from floating off into the void */
.sos-ucp-main .tfoot,
.sos-ucp-main .tfoot td {
  text-align: left !important;
  padding: 14px 18px !important;
}

/* mobile stack */
@media screen and (max-width: 980px) {
  table.sos-ucp-shell,
  table.sos-ucp-shell > tbody,
  table.sos-ucp-shell > tbody > tr,
  table.sos-ucp-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
  }

  table.sos-ucp-shell {
    border-spacing: 0;
  }

  table.sos-ucp-shell > tbody > tr > td:first-child {
    margin-bottom: 18px;
  }

  .usercp_nav,
  table.usercp_nav {
    width: 100% !important;
  }
}

/* =========================================================
   USER CP - LAYOUT REWORK / HERO SUMMARY
   ========================================================= */

/* overall shell */
table.sos-ucp-shell {
  width: 100% !important;
  max-width: 1150px !important;
  border-collapse: separate;
  border-spacing: 18px 0;
  table-layout: fixed;
  margin: 0 auto;
}

table.sos-ucp-shell > tbody > tr > td {
  vertical-align: top;
}

table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 270px !important;
}

table.sos-ucp-shell > tbody > tr > td:last-child {
  width: auto !important;
}

.sos-ucp-stack {
  width: 100%;
}

.sos-ucp-main > .tborder,
.sos-ucp-main table.tborder,
.sos-ucp-stack > .tborder {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
}

/* =========================================================
   ACCOUNT SUMMARY CARD
   ========================================================= */

.sos-ucp-summary {
  margin-top: 0 !important;
  background: rgba(9,19,23,0.55) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
  overflow: hidden;
}

.sos-ucp-summary .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
  padding: 14px 18px !important;
}

.sos-ucp-summary .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* make summary body sit like a clean horizontal layout */
.sos-ucp-summary .sos-ucp-summary-row {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.sos-ucp-summary .sos-ucp-summary-row > td {
  display: block;
  box-sizing: border-box;
}

/* avatar column */
.sos-ucp-summary .sos-ucp-summary-row > td:first-child {
  flex: 0 0 280px;
  width: 280px !important;
  background: rgba(9,19,23,0.72) !important;
  padding: 18px !important;
  vertical-align: top !important;
  border-right: 1px solid rgba(163,124,84,0.16);
}

/* avatar itself */
.sos-ucp-summary .sos-ucp-summary-row > td:first-child img {
  display: block;
  width: 250px !important;
  height: 400px !important;
  min-width: 250px !important;
  min-height: 400px !important;
  max-width: 250px !important;
  max-height: 400px !important;
  object-fit: cover;
  border-radius: 125px 125px 10px 10px;
  border: 2px solid rgba(163,124,84,0.55);
  background: #091317;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.16),
    0 10px 30px rgba(0,0,0,0.45);
  margin: 0 auto;
}

/* info side of summary */
.sos-ucp-summary-cell {
  flex: 1 1 auto;
  width: auto !important;
  padding: 18px !important;
  background: rgba(9,19,23,0.58) !important;
}

.sos-ucp-summary-grid {
  display: grid;
  grid-template-columns: 410px minmax(0, 1fr);
  gap: 22px;
  min-height: 400px;
  align-items: stretch;
}

/* green-box equivalent */
.sos-ucp-summary-info {
  background: rgba(9,19,23,0.82);
  border: 1px solid rgba(163,124,84,0.22);
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* right empty/open side */
.sos-ucp-summary-side {
  background: rgba(9,19,23,0.20);
  border-left: 1px solid rgba(163,124,84,0.16);
  min-height: 100%;
}

/* text styling */
.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block;
  margin-bottom: 14px;
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2.2rem;
  line-height: 1.05;
  font-style: italic;
  text-decoration: none !important;
}

.sos-ucp-summary-meta {
  color: #b8bcc2;
  line-height: 1.8;
}

.sos-ucp-summary-meta > div {
  margin-bottom: 2px;
}

.sos-ucp-summary-meta strong {
  color: #d4d6d6 !important;
}

/* referral box */
.sos-ucp-summary-meta .smalltext,
.sos-ucp-summary-meta .trow1,
.sos-ucp-summary-meta .trow2,
.sos-ucp-summary-meta div[style],
.sos-ucp-summary-meta blockquote {
  background: rgba(9,19,23,0.72) !important;
}

/* =========================================================
   GENERAL PANEL LOOK
   ========================================================= */

.sos-ucp-panel .tborder {
  background: rgba(9,19,23,0.45) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 10px 30px rgba(0,0,0,0.35);
  overflow: hidden;
}

.sos-ucp-panel .thead {
  background: rgba(47,54,56,0.92) !important;
  border-bottom: 1px solid rgba(163,124,84,0.35) !important;
}

.sos-ucp-panel .thead strong,
.sos-ucp-panel .thead a {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-panel .trow1,
.sos-ucp-panel .trow2 {
  background: rgba(9,19,23,0.62) !important;
  color: #b8bcc2 !important;
  border-top: 1px solid rgba(163,124,84,0.08) !important;
  border-bottom: 1px solid rgba(163,124,84,0.08) !important;
  padding: 16px 18px !important;
}

/* =========================================================
   RECENT THREADS - easier to read
   ========================================================= */

.sos-ucp-panel--threads .tborder {
  background: rgba(7,19,23,0.60) !important;
}

.sos-ucp-panel--threads .trow1,
.sos-ucp-panel--threads .trow2 {
  background: rgba(7,19,23,0.68) !important;
}

.sos-ucp-panel--threads table {
  background: transparent !important;
}

.sos-ucp-panel--threads .trow1 a,
.sos-ucp-panel--threads .trow2 a {
  color: #d8c3a5 !important;
}

.sos-ucp-panel--threads .trow1,
.sos-ucp-panel--threads .trow2,
.sos-ucp-panel--threads td {
  text-shadow: 0 0 4px rgba(0,0,0,0.75);
}

/* =========================================================
   NOTEPAD / FORM FIXES
   ========================================================= */

.sos-ucp-main textarea,
.sos-ucp-main textarea.usercp_notepad {
  width: 100% !important;
  min-height: 220px !important;
  resize: vertical;
  background: rgba(9,19,23,0.82) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  padding: 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;
  box-sizing: border-box;
}

.sos-ucp-main input.textbox,
.sos-ucp-main select,
.sos-ucp-main input[type="text"],
.sos-ucp-main input[type="password"],
.sos-ucp-main input[type="email"] {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px;
  background: rgba(9,19,23,0.82) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  padding: 0 12px !important;
  box-sizing: border-box;
}

.sos-ucp-main input.button,
.sos-ucp-main button,
.sos-ucp-main input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.sos-ucp-main input.button:hover,
.sos-ucp-main button:hover,
.sos-ucp-main input[type="submit"]:hover {
  background: #151f24 !important;
  color: #f1dfc8 !important;
  border-color: rgba(163,124,84,0.60) !important;
}

/* keep buttons aligned better */
.sos-ucp-main .tfoot,
.sos-ucp-main .tfoot td {
  text-align: left !important;
  padding: 14px 18px !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1100px) {
  .sos-ucp-summary .sos-ucp-summary-row {
    display: block;
  }

  .sos-ucp-summary .sos-ucp-summary-row > td:first-child,
  .sos-ucp-summary-cell {
    width: 100% !important;
    flex: none;
  }

  .sos-ucp-summary-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .sos-ucp-summary-side {
    min-height: 140px;
  }
}

@media screen and (max-width: 980px) {
  table.sos-ucp-shell,
  table.sos-ucp-shell > tbody,
  table.sos-ucp-shell > tbody > tr,
  table.sos-ucp-shell > tbody > tr > td {
    display: block;
    width: 100% !important;
  }

  table.sos-ucp-shell {
    border-spacing: 0;
  }

  table.sos-ucp-shell > tbody > tr > td:first-child {
    margin-bottom: 18px;
  }

  .usercp_nav,
  table.usercp_nav {
    width: 100% !important;
  }
}

/* =========================================================
   USER CP - REAL MARKUP FIX
   targets the HTML you just showed me
   ========================================================= */

/* shell width / columns */
table.sos-ucp-shell {
  width: 100% !important;
  max-width: 1150px !important;
  margin: 0 auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
}

table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 250px !important;
  vertical-align: top !important;
}

table.sos-ucp-shell > tbody > tr > td.sos-ucp-main {
  vertical-align: top !important;
}

.sos-ucp-main,
.sos-ucp-stack {
  position: relative;
  min-width: 0;
}

/* hide empty wrapper panels */
.sos-ucp-panel:empty {
  display: none !important;
}

/* =========================================================
   SUMMARY CARD
   ========================================================= */

.sos-ucp-summary {
  position: relative;
  overflow: hidden;
  background: rgba(9, 19, 23, 0.52) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
  margin: 0 0 18px 0 !important;
}

.sos-ucp-summary .thead {
  background: #2F3638 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(163,124,84,0.40) !important;
}

.sos-ucp-summary .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-summary .trow2.sos-ucp-summary-cell {
  position: relative;
  min-height: 440px;
  padding: 18px 18px 18px 286px !important;
  background: rgba(7, 19, 23, 0.58) !important;
  vertical-align: top !important;
}

/* the actual portrait in my markup */
.sos-ucp-stack > img.rounded-circle {
  position: absolute !important;
  top: 58px !important;
  left: 18px !important;
  width: 250px !important;
  height: 400px !important;
  min-width: 250px !important;
  min-height: 400px !important;
  max-width: 250px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  border-radius: 125px 125px 10px 10px !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.16),
    0 12px 30px rgba(0,0,0,0.45) !important;
  z-index: 3 !important;
  margin: 0 !important;
}

/* summary inner layout */
.sos-ucp-summary-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, 410px) minmax(0, 1fr) !important;
  gap: 22px !important;
  min-height: 400px !important;
  align-items: stretch !important;
}

.sos-ucp-summary-info {
  background: rgba(9,19,23,0.84) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.sos-ucp-summary-side {
  background: rgba(9,19,23,0.20) !important;
  border-left: 1px solid rgba(163,124,84,0.14) !important;
  min-height: 100% !important;
}

/* summary typography */
.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block !important;
  margin-bottom: 14px !important;
  color: #A37C54 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2.2rem !important;
  line-height: 1.05 !important;
  font-style: italic !important;
  text-decoration: none !important;
}

.sos-ucp-summary-meta {
  color: #b8bcc2 !important;
  line-height: 1.85 !important;
}

.sos-ucp-summary-meta > div {
  margin-bottom: 2px !important;
}

.sos-ucp-summary-meta strong {
  color: #d4d6d6 !important;
}

.sos-ucp-summary-meta a {
  color: #d7c3a4 !important;
}

/* referral box */
.sos-ucp-summary-meta .alert.bg-white {
  margin-top: 16px !important;
  background: rgba(9,19,23,0.76) !important;
  color: #b8bcc2 !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 14px !important;
  box-shadow: none !important;
}

.sos-ucp-summary-meta .alert.bg-white br:first-child {
  display: none !important;
}

/* =========================================================
   THREADS PANEL
   ========================================================= */

.sos-ucp-panel--threads {
  background: rgba(7,19,23,0.56) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
  padding: 18px !important;
  margin: 0 0 18px 0 !important;
}

/* title strip */
.sos-ucp-panel--threads .legend {
  margin: 0 0 12px 0 !important;
  padding: 14px 18px !important;
  background: rgba(47,54,56,0.92) !important;
  border: 1px solid rgba(163,124,84,0.36) !important;
}

.sos-ucp-panel--threads .legend,
.sos-ucp-panel--threads .legend * {
  color: #d4d6d6 !important;
  text-shadow: none !important;
}

.sos-ucp-panel--threads .btn.btn-multipage {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #d7c3a4 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-style: italic !important;
}

/* actual thread rows */
.sos-ucp-panel--threads .d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block > .row,
.sos-ucp-panel--threads .row.ps-3.pt-3.pe-3.pb-3.border-bottom.m-0 {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.16) !important;
  border-radius: 4px !important;
  margin: 0 0 10px 0 !important;
  padding: 16px 18px !important;
}

/* remove harsh default divider */
.sos-ucp-panel--threads .border-bottom {
  border-bottom: 1px solid rgba(163,124,84,0.18) !important;
}

/* text colors */
.sos-ucp-panel--threads a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

.sos-ucp-panel--threads .text-muted,
.sos-ucp-panel--threads span.text-muted {
  color: #97a0aa !important;
}

.sos-ucp-panel--threads .lastpostbit a {
  color: #e5d5bf !important;
}

.sos-ucp-panel--threads i.bi {
  color: #A37C54 !important;
  font-size: 1.4rem !important;
}

/* =========================================================
   NOTEPAD
   ========================================================= */

.sos-ucp-panel--notepad form > br {
  display: none !important;
}

.sos-ucp-panel--notepad .tborder {
  background: rgba(7,19,23,0.56) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.38) !important;
}

.sos-ucp-panel--notepad .thead {
  background: #2F3638 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(163,124,84,0.40) !important;
}

.sos-ucp-panel--notepad .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-ucp-panel--notepad .trow1 {
  background: rgba(9,19,23,0.72) !important;
  padding: 18px !important;
}

textarea.usercp_notepad,
.sos-ucp-main textarea {
  width: 100% !important;
  min-height: 220px !important;
  background: rgba(9,19,23,0.84) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  padding: 14px !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;
}

.sos-ucp-panel--notepad div[align="center"] {
  text-align: left !important;
  margin-top: 12px !important;
}

.sos-ucp-main input.button,
.sos-ucp-main input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px !important;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.sos-ucp-main input.button:hover,
.sos-ucp-main input[type="submit"]:hover {
  background: #151f24 !important;
  border-color: rgba(163,124,84,0.58) !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 1100px) {
  .sos-ucp-stack > img.rounded-circle {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block !important;
    margin: 0 auto 18px auto !important;
  }

  .sos-ucp-summary .trow2.sos-ucp-summary-cell {
    padding: 18px !important;
    min-height: auto !important;
  }

  .sos-ucp-summary-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .sos-ucp-summary-side {
    min-height: 140px !important;
  }
}

@media screen and (max-width: 980px) {
  table.sos-ucp-shell,
  table.sos-ucp-shell > tbody,
  table.sos-ucp-shell > tbody > tr,
  table.sos-ucp-shell > tbody > tr > td {
    display: block !important;
    width: 100% !important;
  }

  table.sos-ucp-shell {
    border-spacing: 0 !important;
  }

  table.sos-ucp-shell > tbody > tr > td:first-child {
    margin-bottom: 18px !important;
  }
}

/* =========================================================
   USER CP FINAL STABLE LAYOUT
   Sidebar left, 250x400 avatar, info beside it, panels below
   Desktop-preserving. No mobile stacking.
========================================================= */

/* Main User CP shell */
table.sos-ucp-shell {
  width: 1100px !important;
  min-width: 1100px !important;
  max-width: 1100px !important;
  margin: 0 auto 30px auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
  background: transparent !important;
}

/* User CP nav cell, assuming {$usercpnav} already outputs the first td */
table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  vertical-align: top !important;
}

/* Main content cell */
table.sos-ucp-shell > tbody > tr > td.sos-ucp-main,
table.sos-ucp-shell > tbody > tr > td:last-child {
  width: 832px !important;
  min-width: 0 !important;
  vertical-align: top !important;
}

/* Keep the nav contained */
table.sos-ucp-shell > tbody > tr > td:first-child table,
table.sos-ucp-shell > tbody > tr > td:first-child .tborder,
table.sos-ucp-shell > tbody > tr > td:first-child .usercp_nav {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  margin: 0 !important;
}

/* Nav buttons */
table.sos-ucp-shell > tbody > tr > td:first-child a,
table.sos-ucp-shell > tbody > tr > td:first-child .usercp_nav_item {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 5px 0 !important;
  padding: 8px 10px !important;
  background: #151f24 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
}

table.sos-ucp-shell > tbody > tr > td:first-child a:hover,
table.sos-ucp-shell > tbody > tr > td:first-child .usercp_nav_item:hover,
table.sos-ucp-shell > tbody > tr > td:first-child .usercp_nav_current {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border-color: rgba(163,124,84,0.55) !important;
}

/* Main stack */
.sos-ucp-main,
.sos-ucp-stack {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Undo earlier floating/absolute avatar experiments */
.sos-ucp-stack > img.rounded-circle {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
}

/* Account summary card */
.sos-ucp-summary {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: rgba(9,19,23,0.68) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.14),
    0 10px 30px rgba(0,0,0,0.35) !important;
  overflow: hidden !important;
}

.sos-ucp-summary .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
  padding: 14px 18px !important;
}

.sos-ucp-summary .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Summary row must stay horizontal */
.sos-ucp-summary-row {
  display: table-row !important;
}

/* Avatar cell */
.sos-ucp-summary-row > td:first-child {
  width: 286px !important;
  min-width: 286px !important;
  max-width: 286px !important;
  padding: 18px !important;
  vertical-align: top !important;
  background: rgba(7,19,23,0.72) !important;
  border-right: 1px solid rgba(163,124,84,0.18) !important;
  box-sizing: border-box !important;
}

/* Avatar image, locked to 250x400 */
.sos-ucp-summary-row > td:first-child img,
.sos-ucp-summary-row > td:first-child .avatar img,
.sos-ucp-summary-row > td:first-child .avatar-wrapper img,
.sos-ucp-summary-row > td:first-child .rounded-circle {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 auto !important;
  border-radius: 125px 125px 8px 8px !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.16),
    0 12px 30px rgba(0,0,0,0.45) !important;
}

/* Info cell */
.sos-ucp-summary-cell {
  width: auto !important;
  padding: 18px !important;
  vertical-align: top !important;
  background: rgba(7,19,23,0.58) !important;
  box-sizing: border-box !important;
}

/* Info beside avatar, with optional empty breathing space */
.sos-ucp-summary-grid {
  display: grid !important;
  grid-template-columns: minmax(360px, 430px) minmax(0, 1fr) !important;
  gap: 18px !important;
  min-height: 400px !important;
  align-items: stretch !important;
}

.sos-ucp-summary-info {
  background: rgba(9,19,23,0.86) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  padding: 22px !important;
  box-sizing: border-box !important;
  display: block !important;
}

.sos-ucp-summary-side {
  display: block !important;
  min-height: 100% !important;
  background: rgba(9,19,23,0.18) !important;
  border-left: 1px solid rgba(163,124,84,0.14) !important;
}

/* Summary text */
.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block !important;
  margin: 0 0 18px 0 !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2.35rem !important;
  line-height: 1.05 !important;
  font-style: italic !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  text-shadow: 0 0 8px rgba(255,255,255,0.35) !important;
}

.sos-ucp-summary-meta {
  color: #b8bcc2 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
  letter-spacing: 0.03em !important;
}

.sos-ucp-summary-meta > div {
  margin-bottom: 3px !important;
}

.sos-ucp-summary-meta strong {
  color: #d4d6d6 !important;
}

.sos-ucp-summary-meta a {
  color: #d8c0a6 !important;
}

.sos-ucp-summary-meta a:hover {
  color: #f1dfc8 !important;
}

/* Referral box */
.sos-ucp-summary-meta .alert,
.sos-ucp-summary-meta .bg-white,
.sos-ucp-summary-meta div[style] {
  background: rgba(9,19,23,0.76) !important;
  color: #b8bcc2 !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow: none !important;
}

/* Panels below account summary */
.sos-ucp-panel {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
}

.sos-ucp-panel:empty {
  display: none !important;
}

.sos-ucp-panel .tborder,
.sos-ucp-main .tborder {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
  background: rgba(9,19,23,0.64) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.14),
    0 10px 30px rgba(0,0,0,0.35) !important;
}

.sos-ucp-panel .thead,
.sos-ucp-main .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.45) !important;
}

.sos-ucp-panel .trow1,
.sos-ucp-panel .trow2,
.sos-ucp-main .trow1,
.sos-ucp-main .trow2 {
  background: rgba(9,19,23,0.76) !important;
  color: #b8bcc2 !important;
  border-color: rgba(163,124,84,0.14) !important;
}

/* Notepad */
.sos-ucp-main textarea,
.sos-ucp-main textarea.usercp_notepad {
  width: 100% !important;
  min-height: 220px !important;
  resize: vertical !important;
  background: rgba(9,19,23,0.86) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.30) !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.15rem !important;
  line-height: 1.6 !important;
}

/* Buttons inside UCP */
.sos-ucp-main input.button,
.sos-ucp-main button,
.sos-ucp-main input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px !important;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.sos-ucp-main input.button:hover,
.sos-ucp-main button:hover,
.sos-ucp-main input[type="submit"]:hover {
  background: #151f24 !important;
  color: #fff5ea !important;
  border-color: rgba(163,124,84,0.62) !important;
}

/* =========================================================
   USER CP AVATAR / SUMMARY FINAL FIX
   ========================================================= */

/* overall shell */
table.sos-ucp-shell {
  width: 1100px !important;
  min-width: 1100px !important;
  max-width: 1100px !important;
  margin: 0 auto 30px auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
}

/* left nav */
table.sos-ucp-shell > tbody > tr > td:first-child {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  vertical-align: top !important;
}

/* main area */
table.sos-ucp-shell > tbody > tr > td.sos-ucp-main {
  width: 832px !important;
  vertical-align: top !important;
}

.sos-ucp-stack,
.sos-ucp-main {
  width: 100% !important;
  min-width: 0 !important;
}

/* summary card */
.sos-ucp-summary {
  width: 100% !important;
  margin: 0 0 18px 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  background: rgba(9,19,23,0.62) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.14), 0 10px 30px rgba(0,0,0,0.35) !important;
  overflow: hidden !important;
}

.sos-ucp-summary .thead {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border-bottom: 1px solid rgba(163,124,84,0.42) !important;
  padding: 14px 18px !important;
}

.sos-ucp-summary .thead strong {
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* keep the row behaving like a row */
.sos-ucp-summary-row > td {
  display: table-cell !important;
  vertical-align: top !important;
}

/* avatar column */
.sos-ucp-avatarcell {
  width: 286px !important;
  min-width: 286px !important;
  max-width: 286px !important;
  padding: 18px !important;
  background: rgba(7,19,23,0.72) !important;
  border-right: 1px solid rgba(163,124,84,0.16) !important;
  box-sizing: border-box !important;
}

/* kill the tiny square behavior */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-image img {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 auto !important;
  border-radius: 125px 125px 0 0 !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.16), 0 12px 30px rgba(0,0,0,0.45) !important;
}

/* info column */
.sos-ucp-summary-cell {
  padding: 18px !important;
  background: rgba(7,19,23,0.58) !important;
  box-sizing: border-box !important;
}

.sos-ucp-summary-grid {
  display: grid !important;
  grid-template-columns: 380px minmax(0, 1fr) !important;
  gap: 18px !important;
  min-height: 400px !important;
  align-items: stretch !important;
}

.sos-ucp-summary-info {
  background: rgba(9,19,23,0.84) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}

.sos-ucp-summary-side {
  background: rgba(9,19,23,0.18) !important;
  border-left: 1px solid rgba(163,124,84,0.14) !important;
  min-height: 100% !important;
}

.sos-ucp-summary .largetext,
.sos-ucp-summary .largetext a {
  display: block !important;
  margin: 0 0 14px 0 !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 2.2rem !important;
  line-height: 1.05 !important;
  font-style: italic !important;
  text-decoration: none !important;
  text-shadow: 0 0 8px rgba(255,255,255,0.35) !important;
}

.sos-ucp-summary-meta {
  color: #b8bcc2 !important;
  line-height: 1.8 !important;
}

.sos-ucp-summary-meta strong {
  color: #d4d6d6 !important;
}

.sos-ucp-summary-meta a {
  color: #d8c0a6 !important;
}

/* make recent threads a little translucent */
.sos-ucp-panel--threads,
.sos-ucp-panel--threads .tborder {
  background: rgba(9,19,23,0.52) !important;
}

.sos-ucp-panel--threads .trow1,
.sos-ucp-panel--threads .trow2 {
  background: rgba(9,19,23,0.66) !important;
}

.sos-ucp-panel--threads .thead {
  background: rgba(47,54,56,0.92) !important;
}

/* =========================================================
   USER CP - FIX AVATAR CELL + INFO PUSH
   This overrides the earlier fake-position padding.
========================================================= */

/* stop old padding rule from shoving the info off-screen */
.sos-ucp-summary .trow2.sos-ucp-summary-cell {
  position: static !important;
  padding: 18px !important;
  min-height: 400px !important;
  background: rgba(7,19,23,0.42) !important;
}

/* avatar cell should be a clean slot, not a framed container */
.sos-ucp-avatarcell {
  width: 286px !important;
  min-width: 286px !important;
  max-width: 286px !important;
  padding: 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* keep only the avatar itself windowed */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-image img {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 auto !important;
  border-radius: 125px 125px 0 0 !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.45) !important;
}

/* make the info sit directly beside the avatar */
.sos-ucp-summary-grid {
  display: block !important;
  min-height: 400px !important;
}

/* size the info box nicely instead of letting it wander */
.sos-ucp-summary-info {
  width: 380px !important;
  max-width: 380px !important;
  min-height: 400px !important;
  margin: 0 !important;
  background: rgba(9,19,23,0.78) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}

/* hide the empty breathing-space column for now */
.sos-ucp-summary-side {
  display: none !important;
}

/* =========================================================
   USER CP - NUDGE AVATAR LEFT / EXPAND INFO / KILL CENTER LINE
========================================================= */

/* make avatar column narrower so info gets more room */
.sos-ucp-summary-row > td.sos-ucp-avatarcell,
.sos-ucp-avatarcell {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  padding: 18px 10px 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}

/* nudge avatar left inside its cell */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-image img {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* remove rogue center divider/borders from old rules */
.sos-ucp-summary-row > td,
.sos-ucp-summary-row > td:first-child,
.sos-ucp-summary-cell,
.sos-ucp-summary-side {
  border-left: 0 !important;
  border-right: 0 !important;
}

/* let the info cell take the space the avatar gave up */
.sos-ucp-summary-cell {
  padding: 18px 18px 18px 8px !important;
}

/* stretch the info box to fill the remaining width */
.sos-ucp-summary-info {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* keep the empty side hidden */
.sos-ucp-summary-side {
  display: none !important;
}

/* =========================================================
   USER CP - FLOATING AVATAR, NO CELL BOX
========================================================= */

/* make the avatar cell itself visually disappear */
.sos-ucp-summary .sos-ucp-summary-row > td.sos-ucp-avatarcell,
.sos-ucp-summary-row > td.sos-ucp-avatarcell,
td.sos-ucp-avatarcell {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  padding: 14px 0 14px 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* kill any wrapper/card effect inside the avatar cell */
.sos-ucp-avatarcell *,
.sos-ucp-avatarcell .avatar,
.sos-ucp-avatarcell .avatar-wrapper,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell div {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* move the actual avatar left and keep only the image border */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-wrapper img,
.sos-ucp-avatarcell .avatar-image img {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 !important;
  transform: translateX(-54px) !important;
  border-radius: 125px 125px 0 0 !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.45) !important;
}

/* give the info cell the space the avatar moved out of */
.sos-ucp-summary .trow2.sos-ucp-summary-cell,
.sos-ucp-summary-cell {
  padding: 14px 14px 14px 0 !important;
  background: rgba(7,19,23,0.36) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* info panel fills its side cleanly */
.sos-ucp-summary-info {
  width: 100% !important;
  max-width: none !important;
  min-height: 400px !important;
  margin: 0 !important;
}

/* =========================================================
   USER CP - LET INFO FILL SPACE LEFT BY SHIFTED AVATAR
========================================================= */

/* shrink the invisible avatar cell so the info can move left */
.sos-ucp-summary .sos-ucp-summary-row > td.sos-ucp-avatarcell,
.sos-ucp-summary-row > td.sos-ucp-avatarcell,
td.sos-ucp-avatarcell {
  width: 216px !important;
  min-width: 216px !important;
  max-width: 216px !important;
  padding: 14px 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* keep the avatar visually floating left */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-wrapper img,
.sos-ucp-avatarcell .avatar-image img {
  transform: translateX(-34px) !important;
  position: relative !important;
  z-index: 2 !important;
}

/* let the info cell start closer to the avatar */
.sos-ucp-summary .trow2.sos-ucp-summary-cell,
.sos-ucp-summary-cell {
  padding: 14px 14px 14px 0 !important;
  width: auto !important;
  background: rgba(7,19,23,0.36) !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* make the info box fill all available space */
.sos-ucp-summary-grid {
  display: block !important;
  width: 100% !important;
}

.sos-ucp-summary-info {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
}

/* =========================================================
   USER CP - FORCE SUMMARY INTO FLEX SO INFO CAN MOVE
========================================================= */

/* turn only the account summary body row into a flex row */
.sos-ucp-summary-row {
  display: flex !important;
  width: 100% !important;
  align-items: stretch !important;
}

/* stop the cells acting like stubborn table cells */
.sos-ucp-summary-row > td {
  display: block !important;
  box-sizing: border-box !important;
}

/* avatar slot: narrow, invisible, allows the image to hang left */
.sos-ucp-summary-row > td.sos-ucp-avatarcell {
  flex: 0 0 216px !important;
  width: 216px !important;
  min-width: 216px !important;
  max-width: 216px !important;
  padding: 14px 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* actual avatar */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-wrapper img,
.sos-ucp-avatarcell .avatar-image img {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  transform: translateX(-34px) !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* info side: take all remaining space */
.sos-ucp-summary-row > td.sos-ucp-summary-cell {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 14px 14px 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* info panel fills the available side */
.sos-ucp-summary-grid {
  display: block !important;
  width: 100% !important;
  min-height: 400px !important;
}

.sos-ucp-summary-info {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
}

/* =========================================================
   USER CP - RESET SUMMARY LAYOUT AFTER OVERCORRECTION
   Avatar floats visually. Info fills the remaining space.
========================================================= */

/* summary body row */
.sos-ucp-summary .sos-ucp-summary-row {
  display: flex !important;
  width: 100% !important;
  align-items: stretch !important;
}

/* both cells behave predictably */
.sos-ucp-summary .sos-ucp-summary-row > td {
  display: block !important;
  box-sizing: border-box !important;
}

/* avatar slot: wide enough that avatar does NOT fall off screen */
.sos-ucp-summary .sos-ucp-summary-row > td.sos-ucp-avatarcell,
td.sos-ucp-avatarcell {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  padding: 14px 0 14px 18px !important;
  overflow: visible !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* kill any fake container around the avatar */
.sos-ucp-avatarcell *,
.sos-ucp-avatarcell .avatar,
.sos-ucp-avatarcell .avatar-wrapper,
.sos-ucp-avatarcell div {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* actual avatar: slightly left, but not offscreen */
.sos-ucp-avatarcell img,
.sos-ucp-avatarcell .rounded-circle,
.sos-ucp-avatarcell .avatar img,
.sos-ucp-avatarcell .avatar-wrapper img,
.sos-ucp-avatarcell .avatar-image img {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 !important;
  transform: translateX(-12px) !important;
  position: relative !important;
  z-index: 2 !important;
  border-radius: 125px 125px 0 0 !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.45) !important;
}

/* info side: takes everything left over */
.sos-ucp-summary .sos-ucp-summary-row > td.sos-ucp-summary-cell,
.sos-ucp-summary .trow2.sos-ucp-summary-cell,
.sos-ucp-summary-cell {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 14px 14px 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* no two-column grid inside the info side */
.sos-ucp-summary .sos-ucp-summary-grid,
.sos-ucp-summary-cell .sos-ucp-summary-grid {
  display: block !important;
  width: 100% !important;
  min-height: 400px !important;
}

/* info box fills the whole remaining side */
.sos-ucp-summary .sos-ucp-summary-info,
.sos-ucp-summary-cell .sos-ucp-summary-info {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* keep the empty blue/right-side panel dead */
.sos-ucp-summary .sos-ucp-summary-side,
.sos-ucp-summary-cell .sos-ucp-summary-side {
  display: none !important;
}

/* =========================================================
   USER CP - CLEAN FLEX SUMMARY
   Avoids table-cell goblin behavior entirely.
========================================================= */

.sos-ucp-summary-cell {
  padding: 14px !important;
  background: rgba(7,19,23,0.36) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sos-ucp-summary-flex {
  display: flex !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 400px !important;
}

.sos-ucp-avatarfloat {
  flex: 0 0 250px !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.sos-ucp-avatarfloat *,
.sos-ucp-avatarfloat div,
.sos-ucp-avatarfloat .avatar,
.sos-ucp-avatarfloat .avatar-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sos-ucp-avatarfloat img,
.sos-ucp-avatarfloat .rounded-circle,
.sos-ucp-avatarfloat .avatar img,
.sos-ucp-avatarfloat .avatar-wrapper img {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 !important;
  border-radius: 125px 125px 0 0 !important;
  border: 2px solid rgba(163,124,84,0.56) !important;
  background: #091317 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.45) !important;
}

.sos-ucp-summary-flex > .sos-ucp-summary-info {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
  padding: 18px !important;
  background: rgba(9,19,23,0.78) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-sizing: border-box !important;
}

/* USER CP - add breathing room left of avatar */
.sos-ucp-avatarfloat {
  flex: 0 0 270px !important;
  width: 270px !important;
  min-width: 270px !important;
  max-width: 270px !important;
  padding-left: 20px !important;
  box-sizing: border-box !important;
}

.sos-ucp-avatarfloat img,
.sos-ucp-avatarfloat .rounded-circle,
.sos-ucp-avatarfloat .avatar img,
.sos-ucp-avatarfloat .avatar-wrapper img {
  transform: none !important;
  margin: 0 !important;
}

/* =========================================================
   EDIT PROFILE - CLEAN BUILD
   REPLACE prior edit-profile CSS with ONLY this
   ========================================================= */

table.sos-ucp-profile-shell {
  width: 100% !important;
  max-width: 1150px !important;
  margin: 0 auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
}

table.sos-ucp-profile-shell > tbody > tr > td:first-child {
  width: 250px !important;
  vertical-align: top !important;
}

.sos-ucp-profile-main {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.sos-ucp-profile-submit {
  margin-top: 18px !important;
  text-align: left !important;
}

/* base controls */
.sos-ucp-profile-form input.form-control,
.sos-ucp-profile-form input.textbox,
.sos-ucp-profile-form select.form-select,
.sos-ucp-profile-form select,
.sos-ucp-profile-form textarea.form-control,
.sos-ucp-profile-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(9,19,23,0.84) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  box-shadow: none !important;
}

.sos-ucp-profile-form input.form-control,
.sos-ucp-profile-form input.textbox,
.sos-ucp-profile-form select.form-select,
.sos-ucp-profile-form select {
  min-height: 42px !important;
  padding: 0 12px !important;
}

.sos-ucp-profile-form textarea.form-control,
.sos-ucp-profile-form textarea {
  min-height: 150px !important;
  padding: 12px !important;
  resize: vertical !important;
  line-height: 1.55 !important;
  font-size: 1.2rem !important;
}

.sos-ucp-profile-form select:not([multiple]) {
  height: 42px !important;
}

.sos-ucp-profile-form select[multiple] {
  min-height: 120px !important;
  padding: 10px !important;
}

.sos-ucp-profile-form label {
  color: #d4d6d6 !important;
}

.sos-ucp-profile-form .smalltext,
.sos-ucp-profile-form .text-muted,
.sos-ucp-profile-form span.smalltext {
  color: #97a0aa !important;
}

/* section shells */
.sos-ucp-profile-edit-wrap,
.sos-ucp-profile-top > * {
  background: rgba(7,19,23,0.62) !important;
  border: 1px solid rgba(163,124,84,0.18) !important;
}

.sos-ucp-profile-head {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid rgba(163,124,84,0.36) !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.sos-ucp-edit-inner,
.sos-ucp-profile-top > * {
  padding: 18px !important;
}

.sos-ucp-profile-top {
  margin-top: 18px !important;
}

.sos-ucp-profile-top > * + * {
  margin-top: 18px !important;
}

.sos-ucp-profile-top .legend,
.sos-ucp-section-legend {
  margin: 0 0 12px 0 !important;
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(163,124,84,0.36) !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* top layout */
.sos-ucp-edit-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 14px !important;
  align-items: start !important;
}

.sos-ucp-edit-top-left,
.sos-ucp-edit-top-right {
  min-width: 0 !important;
}

.sos-ucp-edit-top-left > * + *,
.sos-ucp-edit-top-right > * + * {
  margin-top: 14px !important;
}

/* fieldsets */
.sos-ucp-profile-main fieldset.trow2,
.sos-builtins-optional {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 18px !important;
  margin: 0 !important;
}

.sos-ucp-profile-main fieldset.trow2 legend,
.sos-builtins-optional legend {
  padding: 0 8px !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.sos-ucp-profile-fields > * + * {
  margin-top: 12px !important;
}

.sos-ucp-inline-fields {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

/* generic cards used by JS */
.sos-ucp-customfield-card {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.18) !important;
  padding: 12px !important;
  min-width: 0 !important;
}

.sos-ucp-customfield-card > .row {
  margin: 0 !important;
  padding: 0 !important;
}

.sos-ucp-customfield-card .col-auto,
.sos-ucp-customfield-card .col {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  text-align: left !important;
}

.sos-ucp-customfield-card .text-muted {
  text-align: left !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

.sos-ucp-customfield-card .row.ps-3.pe-3.pt-0.mt-0.mb-4 {
  margin-bottom: 0 !important;
}

/* quick facts */
.sos-quickfacts-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

/* images */
.sos-image-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-content: start !important;
}

/* stats */
.sos-stats-row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.sos-stats-row .sos-ucp-customfield-card input,
.sos-stats-row .sos-ucp-customfield-card select {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 8px !important;
  font-size: 1.1rem !important;
}

/* magic tiers */
.sos-magictiers-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* writing section */
.sos-writing-wrap {
  margin-top: 18px !important;
}

.sos-medium-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.sos-medium-grid .sos-ucp-customfield-card textarea {
  min-height: 120px !important;
  font-size: 1.15rem !important;
}

.sos-large-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.sos-large-fields .sos-ucp-customfield-card textarea {
  min-height: 150px !important;
  font-size: 1.15rem !important;
  line-height: 1.55 !important;
}

/* admin */
.sos-admin-wrap {
  margin-top: 18px !important;
}

.sos-admin-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 14px !important;
  align-items: start !important;
}

.sos-utility-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.sos-admin-bottom {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

/* custom title */
.sos-ucp-profile-customtitle-note {
  margin-bottom: 12px !important;
}

.sos-ucp-profile-customtitle-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}

.sos-ucp-profile-customtitle-item {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.18) !important;
  padding: 12px !important;
}

/* submit */
.sos-ucp-profile-form input.button,
.sos-ucp-profile-form input[type="submit"] {
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 3px !important;
  padding: 9px 14px !important;
  font-family: "IM Fell English", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* responsive */
@media screen and (max-width: 980px) {
  table.sos-ucp-profile-shell,
  table.sos-ucp-profile-shell > tbody,
  table.sos-ucp-profile-shell > tbody > tr,
  table.sos-ucp-profile-shell > tbody > tr > td {
    display: block !important;
    width: 100% !important;
  }

  table.sos-ucp-profile-shell {
    border-spacing: 0 !important;
  }

  table.sos-ucp-profile-shell > tbody > tr > td:first-child {
    margin-bottom: 18px !important;
  }

  .sos-ucp-edit-top,
  .sos-admin-top {
    grid-template-columns: 1fr !important;
  }

  .sos-quickfacts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .sos-utility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sos-stats-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .sos-magictiers-row,
  .sos-medium-grid,
  .sos-ucp-inline-fields,
  .sos-ucp-profile-customtitle-meta {
    grid-template-columns: 1fr !important;
  }
}

@media screen and (max-width: 640px) {
  .sos-quickfacts-grid,
  .sos-utility-grid,
  .sos-stats-row {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   IMAGE BLOCK CLEANUP
========================================= */
.sos-image-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-content: start;
}

.sos-image-grid .sos-ucp-customfield-card{
  min-height: auto;
  padding: 14px 16px;
  background: rgba(7, 19, 23, 0.72);
  border: 1px solid rgba(163, 124, 84, 0.22);
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(163, 124, 84, 0.08);
}

.sos-image-grid .sos-ucp-customfield-card .row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.sos-image-grid .sos-ucp-customfield-card .col-auto,
.sos-image-grid .sos-ucp-customfield-card .col{
  width: 100%;
  max-width: 100%;
}

.sos-image-grid .sos-ucp-customfield-card input[type="text"],
.sos-image-grid .sos-ucp-customfield-card input[type="url"]{
  width: 100%;
}

.sos-image-grid .sos-ucp-customfield-card[data-field="faceclaim"]{
  margin-top: 2px;
}


/* =========================================
   UTILITY ROW / QUOTE FIX
========================================= */
.sos-utility-grid{
  display: grid;
  grid-template-columns:
    minmax(130px, .75fr)
    minmax(190px, 1fr)
    minmax(190px, 1fr)
    minmax(260px, 1.2fr);
  gap: 12px;
  align-items: start;
}

.sos-utility-grid .sos-ucp-customfield-card{
  min-height: auto;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="chips"]{
  grid-column: 1;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="custom-quote"]{
  grid-column: 2 / 4;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="custom-quote"] textarea{
  min-height: 210px;
  font-size: 1.05rem;
  line-height: 1.6;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="optional"]{
  grid-column: 4;
}


/* =========================================
   MOBILE / SMALLER WIDTH FALLBACK
========================================= */
@media (max-width: 1100px){
  .sos-utility-grid{
    grid-template-columns: 1fr 1fr;
  }

  .sos-utility-grid .sos-ucp-customfield-card[data-field="chips"],
  .sos-utility-grid .sos-ucp-customfield-card[data-field="custom-quote"],
  .sos-utility-grid .sos-ucp-customfield-card[data-field="optional"]{
    grid-column: auto;
  }
}

@media (max-width: 700px){
  .sos-utility-grid{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   EDIT PROFILE - WIDTH + GRID STABILIZER
   Desktop-preserving. No mobile stacking.
========================================================= */

/* make the edit profile page use the same strong desktop width */
table.sos-ucp-profile-shell {
  width: 1200px !important;
  min-width: 1200px !important;
  max-width: 1200px !important;
  margin: 0 auto 30px auto !important;
  border-collapse: separate !important;
  border-spacing: 18px 0 !important;
  table-layout: fixed !important;
}

/* sidebar */
table.sos-ucp-profile-shell > tbody > tr > td.sos-ucp-sidebar {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  vertical-align: top !important;
}

/* main content */
table.sos-ucp-profile-shell > tbody > tr > td.sos-ucp-profile-main {
  width: 922px !important;
  min-width: 0 !important;
  vertical-align: top !important;
}

/* main edit card */
.sos-ucp-profile-edit-wrap {
  width: 100% !important;
  background: rgba(7,19,23,0.54) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,0.12),
    0 10px 30px rgba(0,0,0,0.35) !important;
  overflow: hidden !important;
}

/* inner spacing */
.sos-ucp-edit-inner {
  padding: 18px 22px 24px !important;
}

/* top row: required fields + images */
.sos-ucp-edit-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}

/* section headers */
.sos-ucp-section-legend,
.sos-ucp-profile-top .legend,
.sos-ucp-profile-customtitle .legend {
  margin: 18px 0 12px 0 !important;
  padding: 12px 16px !important;
  background: rgba(47,54,56,0.92) !important;
  border: 1px solid rgba(163,124,84,0.32) !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.08rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* base card look */
.sos-ucp-customfield-card {
  background: rgba(9,19,23,0.70) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px !important;
  padding: 12px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* card labels */
.sos-ucp-customfield-card .fw-bold,
.sos-ucp-customfield-card .fs-6 {
  display: block !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.15 !important;
  margin-bottom: 3px !important;
}

.sos-ucp-customfield-card .text-desc,
.sos-ucp-customfield-card .small {
  display: block !important;
  color: #9aa2aa !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
}

/* inputs */
.sos-ucp-customfield-card input,
.sos-ucp-customfield-card select,
.sos-ucp-customfield-card textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Quick Facts: fewer columns, less ant-farm */
.sos-quickfacts-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

/* Images: right column stack */
.sos-image-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

/* Stats: six clean little boxes */
.sos-stats-row {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

/* Magic tiers: three columns */
.sos-magictiers-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* Strengths / Weaknesses */
.sos-medium-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

/* Big writing fields */
.sos-large-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin-top: 14px !important;
}

.sos-large-fields textarea,
.sos-medium-grid textarea {
  min-height: 170px !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

/* Admin / Utility */
.sos-admin-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 16px !important;
  align-items: start !important;
}

.sos-utility-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: start !important;
}

/* Quote should be bigger than Discord/Chips */
.sos-utility-grid .sos-ucp-customfield-card[data-field="quote"] {
  grid-row: span 2 !important;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="quote"] textarea {
  min-height: 170px !important;
}

/* Optional built-in field box */
.sos-builtins-optional {
  background: rgba(9,19,23,0.70) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px !important;
  padding: 16px !important;
  margin: 0 !important;
}

/* Custom title and away section spacing */
.sos-admin-bottom {
  margin-top: 18px !important;
}

.sos-ucp-profile-customtitle {
  margin-top: 0 !important;
}

.sos-ucp-profile-submit {
  width: 1200px !important;
  margin: 18px auto 30px auto !important;
  text-align: left !important;
  padding-left: 278px !important;
  box-sizing: border-box !important;
}

/* =========================================================
   EDIT PROFILE - EMPTY SPACE + BOTTOM CLEANUP
========================================================= */

/* Top row: required fields should not create a giant hollow block */
.sos-ucp-edit-top-left,
.sos-ucp-edit-top-left fieldset.trow2 {
  min-height: 0 !important;
  height: auto !important;
}

.sos-ucp-edit-top-left fieldset.trow2 {
  padding: 20px 22px !important;
}

.sos-ucp-edit-top-left .sos-ucp-profile-fields {
  min-height: 0 !important;
}

/* If required fields only contains the email note, keep it compact */
.sos-ucp-profile-email-note {
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Give the top row a more intentional split */
.sos-ucp-edit-top {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  align-items: start !important;
}

/* Pull Quick Facts up under Required Fields instead of leaving a cavern */
.sos-ucp-edit-top + .sos-ucp-section-legend {
  margin-top: 18px !important;
}

/* Images right column should be tidy, not tower-ish */
.sos-ucp-edit-top-right {
  align-self: start !important;
}

.sos-image-grid {
  gap: 10px !important;
}

.sos-image-grid .sos-ucp-customfield-card {
  padding: 10px 12px !important;
}

.sos-image-grid .sos-ucp-customfield-card input {
  min-height: 36px !important;
}

/* =========================================================
   ADMIN / UTILITY CLEANUP
========================================================= */

/* Make Admin/Utility three deliberate columns:
   Quote | Discord/Chips | Optional Fields */
.sos-admin-top {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr 300px !important;
  gap: 14px !important;
  align-items: start !important;
}

/* Utility grid becomes a two-column internal grid */
.sos-utility-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: start !important;
}

/* Quote gets the whole left column height */
.sos-utility-grid .sos-ucp-customfield-card[data-field="quote"] {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="quote"] textarea {
  min-height: 190px !important;
}

/* Discord and Chips stack in the middle column */
.sos-utility-grid .sos-ucp-customfield-card[data-field="discord"] {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.sos-utility-grid .sos-ucp-customfield-card[data-field="chips"] {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

/* Let utility grid occupy the first two columns of admin-top */
.sos-admin-top > .sos-utility-grid {
  grid-column: 1 / span 2 !important;
}

/* Optional Fields stays the right column */
.sos-builtins-optional {
  grid-column: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Optional Fields inner controls */
.sos-builtins-optional .sos-ucp-inline-fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 8px !important;
}

.sos-builtins-optional select,
.sos-builtins-optional input[type="text"] {
  width: 100% !important;
  min-height: 38px !important;
}

/* Website row inside optional box: make it normal instead of Bootstrap weird */
.sos-builtins-optional .row {
  display: block !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.sos-builtins-optional .col,
.sos-builtins-optional .col-lg-3,
.sos-builtins-optional .col-auto {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

/* Hide mobile-only duplicate labels in desktop-preserving layout */
.sos-builtins-optional .d-lg-none {
  display: none !important;
}

/* =========================================================
   CUSTOM TITLE + AWAY SECTION CLEANUP
========================================================= */

.sos-admin-bottom {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  margin-top: 18px !important;
}

/* Custom title as full-width clean panel */
.sos-ucp-profile-customtitle {
  background: rgba(9,19,23,0.60) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.sos-ucp-profile-customtitle .legend {
  margin: 0 0 12px 0 !important;
}

/* Away section: turn Bootstrap row soup into a centered panel */
.sos-admin-bottom > .row,
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 {
  display: block !important;
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: 16px !important;
  background: rgba(9,19,23,0.60) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-sizing: border-box !important;
}

/* Away title column becomes a normal heading */
.sos-admin-bottom .col-lg-3 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 0 12px 0 !important;
  margin: 0 0 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
  text-align: left !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Away content fills panel */
.sos-admin-bottom .col {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Away subblocks */
.sos-admin-bottom .mb-3.pb-4.border-bottom {
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
}

/* Away date box */
.sos-admin-bottom .alert.bg-nav {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  padding: 12px !important;
}

/* Away date row */
.sos-admin-bottom .alert.bg-nav .row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* Remove the extra empty-looking boxes caused by Bootstrap columns */
.sos-admin-bottom .alert.bg-nav .col-auto {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Update button aligned under the main panel */
.sos-ucp-profile-submit {
  width: 1200px !important;
  margin: 18px auto 30px auto !important;
  padding-left: 278px !important;
  box-sizing: border-box !important;
}

/* =========================================================
   EDIT PROFILE - FILL TOP HOLLOW WITH QUICK FACTS
   No template edit needed.
========================================================= */

/* Turn the edit inner area into the actual page grid */
.sos-ucp-edit-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 0 18px !important;
  align-items: start !important;
}

/* Let the old top wrapper stop behaving like a box */
.sos-ucp-edit-top {
  display: contents !important;
}

/* Required fields stays top-left */
.sos-ucp-edit-top-left {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

/* Images stays top-right and spans beside Required + Quick Facts */
.sos-ucp-edit-top-right {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  align-self: start !important;
}

/* The first section legend after the top row is Quick Facts */
.sos-ucp-edit-top + .sos-ucp-section-legend {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 18px !important;
}

/* Quick Facts fills the red space */
.sos-quickfacts-grid {
  grid-column: 1 !important;
  grid-row: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

/* Everything after Quick Facts goes back to full width */
.sos-quickfacts-grid ~ .sos-ucp-section-legend,
.sos-quickfacts-grid ~ .sos-stats-row,
.sos-quickfacts-grid ~ .sos-magictiers-row,
.sos-quickfacts-grid ~ .sos-writing-wrap,
.sos-quickfacts-grid ~ .sos-admin-wrap,
.sos-quickfacts-grid ~ .sos-ucp-customfields-source {
  grid-column: 1 / -1 !important;
}

/* Make required fields compact and intentional */
.sos-ucp-edit-top-left fieldset.trow2 {
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 22px !important;
}

.sos-ucp-profile-email-note {
  margin: 0 !important;
}

/* Keep image cards compact enough to not become a tower-beast */
.sos-image-grid {
  gap: 10px !important;
}

.sos-image-grid .sos-ucp-customfield-card {
  padding: 10px 12px !important;
}

.sos-image-grid .sos-ucp-customfield-card input {
  min-height: 36px !important;
}

/* =========================================================
   EDIT PROFILE - AWAY INFORMATION FULL WIDTH
========================================================= */

/* Stretch away panel full width instead of centered/narrow */
.sos-admin-bottom > .row,
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 {
  display: grid !important;
  grid-template-columns: 190px minmax(0, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px !important;
  background: rgba(9,19,23,0.60) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-sizing: border-box !important;
}

/* Left title column */
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 > .col-lg-3 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 18px 0 0 !important;
  margin: 0 !important;
  border-right: 1px solid rgba(163,124,84,0.35) !important;
  border-bottom: 0 !important;
  text-align: right !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Right content column */
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 > .col {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Let away inputs stretch */
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 input[type="text"],
.sos-admin-bottom .row.g-3.m-auto.pb-0.pt-0.mb-2 select {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Return date box fills available width */
.sos-admin-bottom .alert.bg-nav {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Return date fields line up neatly */
.sos-admin-bottom .alert.bg-nav .row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* EDIT PROFILE - Passive Magic fills image-column gap */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] {
  min-height: 205px !important;
}

.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

/* =========================================================
   EDIT PROFILE - MATCHED QUICK FACTS + IMAGE COLUMN GRID
========================================================= */

/* Keep the two top columns aligned as a designed block */
.sos-ucp-edit-inner {
  align-items: start !important;
}

/* Quick Facts: equal tiles */
.sos-quickfacts-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 150px !important;
  gap: 12px !important;
  align-items: stretch !important;
}

/* Every quick fact card becomes same-height and internally tidy */
.sos-quickfacts-grid .sos-ucp-customfield-card {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 12px !important;
  overflow: hidden !important;
}

/* Keep labels/descriptions controlled */
.sos-quickfacts-grid .sos-ucp-customfield-card .fw-bold,
.sos-quickfacts-grid .sos-ucp-customfield-card .fs-6 {
  flex: 0 0 auto !important;
  margin-bottom: 6px !important;
}

.sos-quickfacts-grid .sos-ucp-customfield-card .text-desc,
.sos-quickfacts-grid .sos-ucp-customfield-card .small {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

/* Inputs sit at the bottom of each tile */
.sos-quickfacts-grid .sos-ucp-customfield-card input,
.sos-quickfacts-grid .sos-ucp-customfield-card select {
  flex: 0 0 auto !important;
  min-height: 38px !important;
}

/* Image column: make it feel linked to the Quick Facts block */
.sos-image-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: 112px !important;
  gap: 12px !important;
  align-items: stretch !important;
}

/* Normal image cards share a tidy height */
.sos-image-grid .sos-ucp-customfield-card {
  min-height: 112px !important;
  height: 112px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 12px !important;
  overflow: hidden !important;
}

/* Input at the bottom of right-column cards */
.sos-image-grid .sos-ucp-customfield-card input {
  margin-top: auto !important;
  min-height: 38px !important;
}

/* Passive Magic becomes the larger anchor card at the bottom */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] {
  height: 212px !important;
  min-height: 212px !important;
  grid-row: span 2 !important;
}

/* Passive Magic textarea fills the useful space */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] textarea {
  flex: 1 1 auto !important;
  min-height: 118px !important;
  resize: vertical !important;
}

/* Prevent long descriptions from blowing up card sizes */
.sos-image-grid .sos-ucp-customfield-card .text-desc,
.sos-image-grid .sos-ucp-customfield-card .small {
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

/* =========================================================
   EDIT PROFILE - EQUAL CARDS WITHOUT CUTTING DESCRIPTIONS
========================================================= */

/* Make Quick Facts cards tall enough for full labels/descriptions */
.sos-quickfacts-grid {
  grid-auto-rows: 178px !important;
}

.sos-quickfacts-grid .sos-ucp-customfield-card {
  height: 178px !important;
  min-height: 178px !important;
  max-height: 178px !important;
  overflow: visible !important;
}

/* Do NOT cut off descriptions */
.sos-quickfacts-grid .sos-ucp-customfield-card .text-desc,
.sos-quickfacts-grid .sos-ucp-customfield-card .small {
  flex: 1 1 auto !important;
  overflow: visible !important;
  max-height: none !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
}

/* Keep inputs anchored at the bottom */
.sos-quickfacts-grid .sos-ucp-customfield-card input,
.sos-quickfacts-grid .sos-ucp-customfield-card select {
  margin-top: auto !important;
}

/* Give image-side cards a little more breathing room too */
.sos-image-grid {
  grid-auto-rows: 126px !important;
}

.sos-image-grid .sos-ucp-customfield-card {
  height: 126px !important;
  min-height: 126px !important;
  max-height: 126px !important;
  overflow: visible !important;
}

.sos-image-grid .sos-ucp-customfield-card .text-desc,
.sos-image-grid .sos-ucp-customfield-card .small {
  overflow: visible !important;
  max-height: none !important;
}

/* Passive Magic remains the larger card */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] {
  height: 252px !important;
  min-height: 252px !important;
  max-height: 252px !important;
}

.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] textarea {
  min-height: 150px !important;
}

/* =========================================================
   EDIT PROFILE - ALIGN INPUTS INSIDE FIELD CARDS
========================================================= */

/* Quick Facts: equal cards with input locked to bottom */
.sos-quickfacts-grid {
  grid-auto-rows: 190px !important;
  align-items: stretch !important;
}

.sos-quickfacts-grid .sos-ucp-customfield-card {
  height: 190px !important;
  min-height: 190px !important;
  max-height: 190px !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 7px !important;
  overflow: hidden !important;
}

/* Title stays at top */
.sos-quickfacts-grid .sos-ucp-customfield-card .fw-bold,
.sos-quickfacts-grid .sos-ucp-customfield-card .fs-6 {
  margin: 0 !important;
}

/* Description gets the flexible middle space */
.sos-quickfacts-grid .sos-ucp-customfield-card .text-desc,
.sos-quickfacts-grid .sos-ucp-customfield-card .small {
  margin: 0 !important;
  overflow: visible !important;
  line-height: 1.25 !important;
}

/* Inputs all sit on the same bottom line */
.sos-quickfacts-grid .sos-ucp-customfield-card input,
.sos-quickfacts-grid .sos-ucp-customfield-card select {
  align-self: end !important;
  margin: 0 !important;
  min-height: 38px !important;
}

/* Image column cards: same treatment, a bit taller */
.sos-image-grid {
  grid-auto-rows: 142px !important;
}

.sos-image-grid .sos-ucp-customfield-card {
  height: 142px !important;
  min-height: 142px !important;
  max-height: 142px !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 8px !important;
  overflow: hidden !important;
}

.sos-image-grid .sos-ucp-customfield-card .fw-bold,
.sos-image-grid .sos-ucp-customfield-card .fs-6 {
  margin: 0 !important;
}

.sos-image-grid .sos-ucp-customfield-card .text-desc,
.sos-image-grid .sos-ucp-customfield-card .small {
  margin: 0 !important;
  overflow: visible !important;
  line-height: 1.25 !important;
}

.sos-image-grid .sos-ucp-customfield-card input {
  align-self: end !important;
  margin: 0 !important;
  min-height: 38px !important;
}

/* Passive Magic gets special treatment because it has a textarea */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] {
  height: 296px !important;
  min-height: 296px !important;
  max-height: 296px !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
}

.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] textarea {
  width: 100% !important;
  height: 100% !important;
  min-height: 170px !important;
  align-self: stretch !important;
  margin: 0 !important;
  resize: vertical !important;
}


/* PASSIVE MAGIC - moved to bottom */
.sos-passive-magic-section {
  margin-top: 18px;
  width: 100%;
}

.sos-passive-magic-section .sos-ucp-section-body,
.sos-passive-magic-section .trow2 {
  padding: 14px;
}

.sos-passive-magic-section textarea {
  width: 100% !important;
  min-height: 180px !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

/* =========================================================
   EDIT PROFILE - PASSIVE MAGIC FULL-WIDTH FIX
========================================================= */

.sos-passive-magic-wrap {
  margin-top: 18px !important;
}

.sos-passive-magic-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

.sos-passive-magic-grid .sos-ucp-customfield-card {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 8px !important;
  padding: 16px !important;
}

.sos-passive-magic-grid .sos-ucp-customfield-card textarea {
  min-height: 190px !important;
  width: 100% !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

/* Undo any accidental hide rule from the previous attempt */
.sos-image-grid .sos-ucp-customfield-card[data-field="passive magic"] {
  display: grid !important;
}

/* =========================================================
   EDIT PROFILE - REQUIRED DOWN + PASSIVE MAGIC NORMALIZED
========================================================= */

/* Top section now starts with Quick Facts on the left and Images on the right */
.sos-ucp-edit-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 0 18px !important;
  align-items: start !important;
}

.sos-ucp-edit-top {
  display: contents !important;
}

.sos-ucp-edit-top-right {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: start !important;
}

.sos-quickfacts-legend {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin-top: 0 !important;
}

.sos-quickfacts-grid {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

/* Everything after Quick Facts returns to full width */
.sos-stats-legend,
.sos-stats-row,
.sos-magic-legend,
.sos-magictiers-row,
.sos-writing-wrap,
.sos-admin-wrap,
.sos-ucp-customfields-source {
  grid-column: 1 / -1 !important;
}

/* Passive Magic now behaves like the other big writing boxes */
.sos-large-fields .sos-ucp-customfield-card[data-field="passive magic"] {
  width: 100% !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 8px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.sos-large-fields .sos-ucp-customfield-card[data-field="passive magic"] textarea {
  width: 100% !important;
  min-height: 220px !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}

/* Kill the old Passive Magic standalone section if it still exists from prior template attempts */
.sos-passive-magic-wrap {
  display: none !important;
}

/* Required Fields now lives down with Admin / Utility */
.sos-required-bottom-wrap {
  margin: 18px 0 !important;
}

.sos-required-bottom-wrap fieldset.trow2 {
  background: rgba(9,19,23,0.60) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 8px !important;
  padding: 18px 22px !important;
  box-shadow: inset 0 0 0 1px rgba(163,124,84,0.08) !important;
}

.sos-required-bottom-wrap legend {
  background: rgba(47,54,56,0.92) !important;
  border: 1px solid rgba(163,124,84,0.32) !important;
  color: #d4d6d6 !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.08rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
}

.sos-required-bottom-wrap .sos-ucp-profile-email-note {
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* =========================================================
   EDIT PROFILE - QUICK FACTS TITLE BAR POSITION FIX
========================================================= */

.sos-quickfacts-legend {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  position: relative !important;
  z-index: 5 !important;
  margin: 0 0 18px 0 !important;
}

.sos-quickfacts-grid {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Give the title row actual breathing space above the cards */
.sos-ucp-edit-inner {
  row-gap: 18px !important;
}

/* =========================================================
   EDIT PROFILE - QUICK FACTS HEADER REAL SPACE FIX
   undo overlap, reserve actual room above cards
========================================================= */

/* Undo the previous overlap/nudge behavior */
.sos-quickfacts-legend {
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
  margin: 0 0 14px 0 !important;
}

/* Put Quick Facts header and cards in normal vertical flow */
.sos-quickfacts-legend {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

.sos-quickfacts-grid {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: auto !important;
}

/* The important bit: make row one tall enough for the title bar */
.sos-ucp-edit-inner {
  grid-template-rows: auto auto auto auto auto auto !important;
  row-gap: 16px !important;
}

/* Make sure the quick fact cards don't climb upward */
.sos-quickfacts-grid .sos-ucp-customfield-card {
  margin-top: 0 !important;
}

/* =========================================================
   EDIT PROFILE - QUICK FACTS HEADER HARD RESET
   beats older adjacent-sibling rules
========================================================= */

/* Give the edit grid a real named top layout */
.sos-ucp-profile-form .sos-ucp-edit-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  grid-template-areas:
    "qtitle images"
    "qgrid  images"
    "stats  stats"
    "magic  magic"
    "writing writing"
    "admin  admin" !important;
  gap: 16px 18px !important;
  align-items: start !important;
}

/* Keep the wrapper from becoming its own grid item */
.sos-ucp-profile-form .sos-ucp-edit-top {
  display: contents !important;
}

/* Images column */
.sos-ucp-profile-form .sos-ucp-edit-top-right {
  grid-area: images !important;
  align-self: start !important;
}

/* Quick Facts title gets its own reserved row */
.sos-ucp-profile-form .sos-ucp-edit-top + .sos-quickfacts-legend,
.sos-ucp-profile-form .sos-quickfacts-legend {
  grid-area: qtitle !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Quick Facts cards start BELOW the title */
.sos-ucp-profile-form .sos-quickfacts-grid {
  grid-area: qgrid !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Everything below */
.sos-ucp-profile-form .sos-stats-legend,
.sos-ucp-profile-form .sos-stats-row {
  grid-area: stats !important;
}

.sos-ucp-profile-form .sos-magic-legend,
.sos-ucp-profile-form .sos-magictiers-row {
  grid-area: magic !important;
}

.sos-ucp-profile-form .sos-writing-wrap {
  grid-area: writing !important;
}

.sos-ucp-profile-form .sos-admin-wrap {
  grid-area: admin !important;
}

/* =========================================================
   EDIT PROFILE - NAMED GRID FIX, NO OVERLAPS
   Overrides previous quick facts hard reset
========================================================= */

body .sos-ucp-profile-form .sos-ucp-edit-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  grid-template-areas:
    "qtitle images"
    "qgrid  images"
    "statsTitle statsTitle"
    "statsGrid  statsGrid"
    "magicTitle magicTitle"
    "magicGrid  magicGrid"
    "writing    writing"
    "admin      admin" !important;
  gap: 16px 18px !important;
  align-items: start !important;
}

/* Wrapper should not take up space */
body .sos-ucp-profile-form .sos-ucp-edit-top {
  display: contents !important;
}

/* Right image column */
body .sos-ucp-profile-form .sos-ucp-edit-top-right {
  grid-area: images !important;
  align-self: start !important;
  margin: 0 !important;
  transform: none !important;
}

/* Quick Facts title */
body .sos-ucp-profile-form .sos-quickfacts-legend {
  grid-area: qtitle !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Quick Facts cards */
body .sos-ucp-profile-form .sos-quickfacts-grid {
  grid-area: qgrid !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Stats title and grid, separate rows */
body .sos-ucp-profile-form .sos-stats-legend {
  grid-area: statsTitle !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

body .sos-ucp-profile-form .sos-stats-row {
  grid-area: statsGrid !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Magic title and grid, separate rows */
body .sos-ucp-profile-form .sos-magic-legend {
  grid-area: magicTitle !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

body .sos-ucp-profile-form .sos-magictiers-row {
  grid-area: magicGrid !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Writing and Admin sections */
body .sos-ucp-profile-form .sos-writing-wrap {
  grid-area: writing !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

body .sos-ucp-profile-form .sos-admin-wrap {
  grid-area: admin !important;
  margin: 0 !important;
  transform: none !important;
  position: relative !important;
  z-index: auto !important;
}

/* Make sure section legends behave like normal blocks */
body .sos-ucp-profile-form .sos-ucp-section-legend {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Hidden source stays hidden and out of the grid */
body .sos-ucp-profile-form .sos-ucp-customfields-source {
  display: none !important;
}

/* =========================================================
   SHOWTHREAD / POSTBIT - COLUMN + AVATAR WIDTH RECOVERY
   Desktop-preserving. No mobile stacking.
========================================================= */

:root {
  --sos-post-side-width: 300px;
  --sos-post-portrait-width: 250px;
  --sos-post-portrait-height: 400px;
}

/* Full post shell */
.sos-post {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 14px auto 28px auto !important;
  overflow: visible !important;
}

/* Main two-column post layout */
.sos-post__grid {
  display: grid !important;
  grid-template-columns: var(--sos-post-side-width) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  overflow: visible !important;
}

/* Left author/avatar column */
.sos-post__side {
  width: var(--sos-post-side-width) !important;
  min-width: var(--sos-post-side-width) !important;
  max-width: var(--sos-post-side-width) !important;
  padding: 12px 24px 16px 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: rgba(5,11,15,0.30) !important;
  border-right: 1px solid rgba(163,124,84,0.18) !important;
}

/* Avatar holder */
.sos-post__portraitwrap {
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  margin: 0 auto 12px auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Avatar itself */
.sos-post__portrait,
.sos-post__portrait img {
  width: var(--sos-post-portrait-width) !important;
  min-width: var(--sos-post-portrait-width) !important;
  max-width: var(--sos-post-portrait-width) !important;
}

.sos-post__portrait img {
  height: var(--sos-post-portrait-height) !important;
  min-height: var(--sos-post-portrait-height) !important;
  max-height: var(--sos-post-portrait-height) !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  border: 2px solid rgba(163,124,84,0.55) !important;
  border-radius: 150px 150px 0 0 !important;
  background: rgba(9,19,23,0.92) !important;
}

/* Quote box under avatar */
.sos-post__quote {
  display: block !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  min-height: 82px !important;
  margin: 0 auto !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: 0.9rem !important;
  line-height: 1.35 !important;
  font-style: italic !important;
  text-align: center !important;
  overflow: auto !important;
}

/* Do not auto-hide quote while recovering layout */
.sos-post__quote:empty {
  display: block !important;
}

/* Right post area */
.sos-post__main {
  min-width: 0 !important;
  width: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Keep top info bar inside the right column */
.sos-post__bar,
.sos-post__stats,
.sos-post__utility,
.sos-post__body {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* =========================================================
   SHOWTHREAD / POSTBIT - CLEANUP PASS
   fixes top control strip, post buttons, and empty quote box
========================================================= */

/* ---------- top thread control strip ---------- */
/* Compact the big empty band above the post */
.container-md > .card.catmod,
.card.catmod,
.card.shadow-sm.rounded.border-0.p-2.mt-4.mb-4 {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  min-height: 78px !important;
  height: auto !important;
  margin: 0 auto 10px auto !important;
  padding: 14px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background:
    linear-gradient(to bottom, rgba(5,11,15,.40), rgba(5,11,15,.70)),
    var(--sos-post-top-bg) center center / cover no-repeat !important;
  border: 1px solid rgba(163,124,84,.22) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Buttons inside that top strip */
.container-md > .card.catmod .btn,
.card.catmod .btn,
.card.shadow-sm.rounded.border-0.p-2.mt-4.mb-4 .btn,
.container-md > .card.catmod a.button,
.card.catmod a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 9px 16px !important;
  margin-left: 6px !important;
  background: rgba(74,78,82,.92) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 6px !important;
  color: #e6d8c7 !important;
  font-family: var(--sos-font) !important;
  font-size: .95rem !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* ---------- postbit action buttons ---------- */

.sos-post__utility {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-height: 56px !important;
  margin: 0 -18px !important;
  padding: 10px 18px !important;
  background: rgba(5,11,15,.72) !important;
  border-top: 1px solid rgba(163,124,84,.16) !important;
  border-bottom: 1px solid rgba(163,124,84,.16) !important;
  box-sizing: border-box !important;
}

/* Remove the huge empty black action area */
.sos-post__meta {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.sos-post__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 320px !important;
  margin-left: auto !important;
}

/* Make all post buttons sane and compact */
.sos-post__actions a,
.sos-post__actions .btn,
.sos-post__actions .postbit_reply,
.sos-post__actions .postbit_quote,
.sos-post__actions .postbit_edit,
.sos-post__actions .postbit_qdelete,
.sos-post__actions .postbit_qrestore,
.sos-post__actions .postbit_multiquote {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 78px !important;
  max-width: none !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  margin: 0 !important;
  background: rgba(74,78,82,.92) !important;
  color: #e6d8c7 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-family: var(--sos-font) !important;
  font-size: .86rem !important;
  line-height: 1 !important;
  text-transform: none !important;
}

/* Let Reply sit with the others instead of becoming a giant bar */
.sos-post__actions .postbit_reply,
.sos-post__actions a[href*="newreply"],
.sos-post__actions a[href*="reply"] {
  flex: 0 0 auto !important;
}

/* ---------- avatar quote box ---------- */

/* Hide empty quote boxes. If there is quote text, it will show. */
.sos-post__quote:empty {
  display: none !important;
}

/* Style quote box only when it actually has content */
.sos-post__quote:not(:empty) {
  display: block !important;
  width: 250px !important;
  min-height: 82px !important;
  margin: 12px auto 0 auto !important;
  padding: 12px 14px !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: .9rem !important;
  line-height: 1.35 !important;
  font-style: italic !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* =========================================================
   POSTING PAGE - EDITOR BACK, POST ICONS GONE, TEXTAREA ALIGNED
========================================================= */

/* Bring formatting tools back */
form[action*="newreply.php"] .codebuttons,
form[action*="newthread.php"] .codebuttons,
form[action*="editpost.php"] .codebuttons,
form[action*="newreply.php"] .editor_control_bar,
form[action*="newthread.php"] .editor_control_bar,
form[action*="editpost.php"] .editor_control_bar,
form[action*="newreply.php"] .sceditor-toolbar,
form[action*="newthread.php"] .sceditor-toolbar,
form[action*="editpost.php"] .sceditor-toolbar {
  display: block !important;
  visibility: visible !important;
}

/* Hide post icons row. Those little circles are post icons, not smilies. */
form[action*="newreply.php"] #posticons,
form[action*="newthread.php"] #posticons,
form[action*="editpost.php"] #posticons,
form[action*="newreply.php"] .posticons,
form[action*="newthread.php"] .posticons,
form[action*="editpost.php"] .posticons,
form[action*="newreply.php"] input[name="icon"],
form[action*="newthread.php"] input[name="icon"],
form[action*="editpost.php"] input[name="icon"] {
  display: none !important;
}

/* Hide the whole post icon line when MyBB renders it as a table row/card chunk */
form[action*="newreply.php"] label[for*="icon"],
form[action*="newthread.php"] label[for*="icon"],
form[action*="editpost.php"] label[for*="icon"] {
  display: none !important;
}

/* Keep smilie inserter gone */
form[action*="newreply.php"] #smilieinserter,
form[action*="newthread.php"] #smilieinserter,
form[action*="editpost.php"] #smilieinserter,
form[action*="newreply.php"] .smilieinsert,
form[action*="newthread.php"] .smilieinsert,
form[action*="editpost.php"] .smilieinsert,
form[action*="newreply.php"] .smilie_insert,
form[action*="newthread.php"] .smilie_insert,
form[action*="editpost.php"] .smilie_insert,
form[action*="newreply.php"] .smilies,
form[action*="newthread.php"] .smilies,
form[action*="editpost.php"] .smilies {
  display: none !important;
}

/* Fix the editor/message area alignment */
form[action*="newreply.php"] textarea[name="message"],
form[action*="newthread.php"] textarea[name="message"],
form[action*="editpost.php"] textarea[name="message"],
form[action*="newreply.php"] #message,
form[action*="newthread.php"] #message,
form[action*="editpost.php"] #message {
  display: block !important;
  width: 100% !important;
  min-height: 430px !important;
  margin: 12px 0 0 0 !important;
  padding: 18px !important;
  background: rgba(5,11,15,0.86) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  color: var(--sos-light) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  box-sizing: border-box !important;
  resize: vertical !important;
}

/* If SCEditor replaces textarea with an iframe/editor box, style that too */
form[action*="newreply.php"] .sceditor-container,
form[action*="newthread.php"] .sceditor-container,
form[action*="editpost.php"] .sceditor-container {
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  background: rgba(5,11,15,0.86) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  box-sizing: border-box !important;
}

form[action*="newreply.php"] .sceditor-container iframe,
form[action*="newthread.php"] .sceditor-container iframe,
form[action*="editpost.php"] .sceditor-container iframe,
form[action*="newreply.php"] .sceditor-container textarea,
form[action*="newthread.php"] .sceditor-container textarea,
form[action*="editpost.php"] .sceditor-container textarea {
  min-height: 430px !important;
  background: rgba(5,11,15,0.86) !important;
  color: var(--sos-light) !important;
}

/* Make the toolbar horizontal instead of sad vertical soup */
form[action*="newreply.php"] .editor_control_bar,
form[action*="newthread.php"] .editor_control_bar,
form[action*="editpost.php"] .editor_control_bar,
form[action*="newreply.php"] .codebuttons,
form[action*="newthread.php"] .codebuttons,
form[action*="editpost.php"] .codebuttons,
form[action*="newreply.php"] .sceditor-toolbar,
form[action*="newthread.php"] .sceditor-toolbar,
form[action*="editpost.php"] .sceditor-toolbar {
  width: 100% !important;
  padding: 8px 10px !important;
  margin: 12px 0 0 0 !important;
  background: rgba(9,19,23,0.74) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  box-sizing: border-box !important;
  text-align: left !important;
  overflow: visible !important;
}

/* Toolbar buttons/icons should sit in a row */
form[action*="newreply.php"] .editor_control_bar *,
form[action*="newthread.php"] .editor_control_bar *,
form[action*="editpost.php"] .editor_control_bar *,
form[action*="newreply.php"] .codebuttons *,
form[action*="newthread.php"] .codebuttons *,
form[action*="editpost.php"] .codebuttons *,
form[action*="newreply.php"] .sceditor-toolbar *,
form[action*="newthread.php"] .sceditor-toolbar *,
form[action*="editpost.php"] .sceditor-toolbar * {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Buttons row at bottom */
form[action*="newreply.php"] .tfoot,
form[action*="newthread.php"] .tfoot,
form[action*="editpost.php"] .tfoot,
form[action*="newreply.php"] .card-footer,
form[action*="newthread.php"] .card-footer,
form[action*="editpost.php"] .card-footer {
  text-align: center !important;
  padding: 14px !important;
}
/* =========================================================
   QUICK REPLY - MINI LAYOUT FIX
========================================================= */

#quick_reply_form {
  width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 24px auto !important;
}

#quick_reply_form .card,
#quick_reply_form .row.mb-4.shadow-sm.border-0.rounded.bg-white {
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.12), 0 10px 30px rgba(0,0,0,0.35) !important;
}

/* Avatar column gets a real lane */
#quick_reply_form img {
  flex: 0 0 auto !important;
  margin-right: 16px !important;
}

/* Any username/title above the quick reply textarea */
#quick_reply_form .largetext,
#quick_reply_form .fw-bold,
#quick_reply_form strong {
  display: block !important;
  position: static !important;
  margin: 0 0 10px 0 !important;
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.2rem !important;
}

/* Quick reply textarea */
#quick_reply_form textarea,
#quick_reply_form textarea[name="message"] {
  width: 100% !important;
  min-height: 180px !important;
  padding: 14px !important;
  background: rgba(5,11,15,0.86) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  color: var(--sos-light) !important;
  box-sizing: border-box !important;
}

/* =========================================================
   POSTING PAGE / SCEDITOR CLEAN REPAIR
   Replaces all earlier posting-page editor patches.
   Works with the current newreply template.
========================================================= */

/* ---------- main posting card ---------- */

body form[action*="newreply.php"] .card,
body form[action*="newthread.php"] .card,
body form[action*="editpost.php"] .card {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto 24px auto !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.10), 0 10px 30px rgba(0,0,0,0.38) !important;
  overflow: hidden !important;
}

body form[action*="newreply.php"] .card-body,
body form[action*="newthread.php"] .card-body,
body form[action*="editpost.php"] .card-body {
  padding: 16px 18px 0 18px !important;
  background: rgba(9,19,23,0.54) !important;
  color: var(--sos-text, #969ca5) !important;
}

body form[action*="newreply.php"] .card-footer,
body form[action*="newthread.php"] .card-footer,
body form[action*="editpost.php"] .card-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 18px 20px 18px !important;
  background: rgba(9,19,23,0.70) !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
  box-sizing: border-box !important;
}

/* ---------- subject line ---------- */

body form[action*="newreply.php"] .mb-3.p-0.pb-2.border-bottom,
body form[action*="newthread.php"] .mb-3.p-0.pb-2.border-bottom,
body form[action*="editpost.php"] .mb-3.p-0.pb-2.border-bottom {
  margin: 0 0 12px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
}

body form[action*="newreply.php"] input[name="subject"],
body form[action*="newthread.php"] input[name="subject"],
body form[action*="editpost.php"] input[name="subject"] {
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: rgba(5,11,15,0.88) !important;
  color: var(--sos-light, #d4d6d6) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* ---------- kill post icons / smilie insert area ---------- */

body form[action*="newreply.php"] #posticons,
body form[action*="newthread.php"] #posticons,
body form[action*="editpost.php"] #posticons,
body form[action*="newreply.php"] .posticons,
body form[action*="newthread.php"] .posticons,
body form[action*="editpost.php"] .posticons,
body form[action*="newreply.php"] input[name="icon"],
body form[action*="newthread.php"] input[name="icon"],
body form[action*="editpost.php"] input[name="icon"],
body form[action*="newreply.php"] #smilieinserter,
body form[action*="newthread.php"] #smilieinserter,
body form[action*="editpost.php"] #smilieinserter,
body form[action*="newreply.php"] .smilieinserter,
body form[action*="newthread.php"] .smilieinserter,
body form[action*="editpost.php"] .smilieinserter,
body form[action*="newreply.php"] .smilie_insert,
body form[action*="newthread.php"] .smilie_insert,
body form[action*="editpost.php"] .smilie_insert,
body form[action*="newreply.php"] .smilies,
body form[action*="newthread.php"] .smilies,
body form[action*="editpost.php"] .smilies {
  display: none !important;
}

/* ---------- message row cleanup ---------- */

body form[action*="newreply.php"] .card-body > .row:has(textarea#message),
body form[action*="newthread.php"] .card-body > .row:has(textarea#message),
body form[action*="editpost.php"] .card-body > .row:has(textarea#message) {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body form[action*="newreply.php"] .card-body > .row:has(textarea#message) > .col,
body form[action*="newthread.php"] .card-body > .row:has(textarea#message) > .col,
body form[action*="editpost.php"] .card-body > .row:has(textarea#message) > .col {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide original textarea after SCEditor takes over.
   This removes the weird blank gap above the toolbar. */
body form[action*="newreply.php"] textarea#message,
body form[action*="newthread.php"] textarea#message,
body form[action*="editpost.php"] textarea#message {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* ---------- SCEditor container ---------- */

body form[action*="newreply.php"] .sceditor-container,
body form[action*="newthread.php"] .sceditor-container,
body form[action*="editpost.php"] .sceditor-container {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 500px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(5,11,15,0.90) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  pointer-events: auto !important;
}

/* Toolbar strip */
body form[action*="newreply.php"] .sceditor-toolbar,
body form[action*="newthread.php"] .sceditor-toolbar,
body form[action*="editpost.php"] .sceditor-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: rgba(9,19,23,0.92) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.24) !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

body form[action*="newreply.php"] .sceditor-group,
body form[action*="newthread.php"] .sceditor-group,
body form[action*="editpost.php"] .sceditor-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 5px 0 0 !important;
  padding: 0 7px 0 0 !important;
  border-right: 1px solid rgba(163,124,84,0.18) !important;
}

/* Toolbar buttons */
body form[action*="newreply.php"] .sceditor-button,
body form[action*="newthread.php"] .sceditor-button,
body form[action*="editpost.php"] .sceditor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 31px !important;
  height: 28px !important;
  min-width: 31px !important;
  min-height: 28px !important;
  max-width: 31px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(15,23,27,0.94) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}

body form[action*="newreply.php"] .sceditor-button div,
body form[action*="newthread.php"] .sceditor-button div,
body form[action*="editpost.php"] .sceditor-button div {
  display: none !important;
}

/* Fallback labels since the icon sprites are being rude */
body form[action*="newreply.php"] .sceditor-button::before,
body form[action*="newthread.php"] .sceditor-button::before,
body form[action*="editpost.php"] .sceditor-button::before {
  display: block !important;
  color: #d8c0a6 !important;
  font-family: Georgia, serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.sceditor-button-bold::before { content: "B"; font-weight: bold; }
.sceditor-button-italic::before { content: "I"; font-style: italic; }
.sceditor-button-underline::before { content: "U"; text-decoration: underline; }
.sceditor-button-strike::before { content: "S"; text-decoration: line-through; }

.sceditor-button-left::before { content: "L"; }
.sceditor-button-center::before { content: "C"; }
.sceditor-button-right::before { content: "R"; }
.sceditor-button-justify::before { content: "J"; }

.sceditor-button-font::before { content: "Font"; font-size: 8px !important; }
.sceditor-button-size::before { content: "Size"; font-size: 8px !important; }
.sceditor-button-color::before { content: "Color"; font-size: 8px !important; }
.sceditor-button-removeformat::before { content: "Clear"; font-size: 8px !important; }

.sceditor-button-horizontalrule::before { content: "HR"; }
.sceditor-button-image::before { content: "Img"; font-size: 8px !important; }
.sceditor-button-email::before { content: "@"; }
.sceditor-button-link::before { content: "Link"; font-size: 8px !important; }
.sceditor-button-unlink::before { content: "Un"; }

.sceditor-button-video::before { content: "Vid"; font-size: 8px !important; }
.sceditor-button-bulletlist::before { content: "•"; font-size: 16px !important; }
.sceditor-button-orderedlist::before { content: "1."; }
.sceditor-button-code::before { content: "<>"; }
.sceditor-button-php::before { content: "PHP"; font-size: 8px !important; }
.sceditor-button-quote::before { content: "Q"; }
.sceditor-button-maximize::before { content: "Max"; font-size: 8px !important; }
.sceditor-button-source::before { content: "Src"; font-size: 8px !important; }

body form[action*="newreply.php"] .sceditor-button:hover,
body form[action*="newthread.php"] .sceditor-button:hover,
body form[action*="editpost.php"] .sceditor-button:hover,
body form[action*="newreply.php"] .sceditor-button.active,
body form[action*="newthread.php"] .sceditor-button.active,
body form[action*="editpost.php"] .sceditor-button.active {
  background: rgba(47,54,56,0.98) !important;
  border-color: rgba(163,124,84,0.58) !important;
}

body form[action*="newreply.php"] .sceditor-button:hover::before,
body form[action*="newthread.php"] .sceditor-button:hover::before,
body form[action*="editpost.php"] .sceditor-button:hover::before {
  color: #f1dfc8 !important;
}

/* Editable iframe */
body form[action*="newreply.php"] .sceditor-container iframe,
body form[action*="newthread.php"] .sceditor-container iframe,
body form[action*="editpost.php"] .sceditor-container iframe {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(5,11,15,0.92) !important;
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

/* Source mode textarea inside SCEditor, when used */
body form[action*="newreply.php"] .sceditor-container textarea,
body form[action*="newthread.php"] .sceditor-container textarea,
body form[action*="editpost.php"] .sceditor-container textarea {
  width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  margin: 0 !important;
  padding: 12px !important;
  background: rgba(5,11,15,0.92) !important;
  color: #d4d6d6 !important;
  border: 0 !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  pointer-events: auto !important;
}

/* Grip */
body form[action*="newreply.php"] .sceditor-grip,
body form[action*="newthread.php"] .sceditor-grip,
body form[action*="editpost.php"] .sceditor-grip {
  display: block !important;
  height: 8px !important;
  background: rgba(9,19,23,0.82) !important;
  border-top: 1px solid rgba(163,124,84,0.16) !important;
}

/* ---------- options / preview / draft row ---------- */

body form[action*="newreply.php"] .mt-2.mb-3,
body form[action*="newthread.php"] .mt-2.mb-3,
body form[action*="editpost.php"] .mt-2.mb-3 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px 12px !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 14px 0 12px 0 !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
  box-sizing: border-box !important;
}

body form[action*="newreply.php"] .mt-2.mb-3 a.links,
body form[action*="newthread.php"] .mt-2.mb-3 a.links,
body form[action*="editpost.php"] .mt-2.mb-3 a.links {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #d8c0a6 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}

body form[action*="newreply.php"] .mt-2.mb-3 button,
body form[action*="newthread.php"] .mt-2.mb-3 button,
body form[action*="editpost.php"] .mt-2.mb-3 button,
body form[action*="newreply.php"] .card-footer button,
body form[action*="newthread.php"] .card-footer button,
body form[action*="editpost.php"] .card-footer button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

body form[action*="newreply.php"] .mt-2.mb-3 button:hover,
body form[action*="newthread.php"] .mt-2.mb-3 button:hover,
body form[action*="editpost.php"] .mt-2.mb-3 button:hover,
body form[action*="newreply.php"] .card-footer button:hover,
body form[action*="newthread.php"] .card-footer button:hover,
body form[action*="editpost.php"] .card-footer button:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,0.70) !important;
}

/* ---------- collapse panels ---------- */

body form[action*="newreply.php"] .collapse,
body form[action*="newthread.php"] .collapse,
body form[action*="editpost.php"] .collapse {
  color: var(--sos-text, #969ca5) !important;
}

body form[action*="newreply.php"] .collapse .row,
body form[action*="newthread.php"] .collapse .row,
body form[action*="editpost.php"] .collapse .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body form[action*="newreply.php"] .bg-nav,
body form[action*="newthread.php"] .bg-nav,
body form[action*="editpost.php"] .bg-nav {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.30) !important;
}

/* ---------- attachments area ---------- */

body form[action*="newreply.php"] #collapse-attach,
body form[action*="newthread.php"] #collapse-attach,
body form[action*="editpost.php"] #collapse-attach {
  background: rgba(9,19,23,0.66) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px !important;
  padding: 14px !important;
  margin-bottom: 12px !important;
}

/* ---------- safety reset from previous bad patches ---------- */

body form[action*="newreply.php"] .card-footer.text-center,
body form[action*="newthread.php"] .card-footer.text-center,
body form[action*="editpost.php"] .card-footer.text-center {
  display: flex !important;
}

/* =========================================================
   POSTING PAGE - CLEAN FINAL REPAIR
   Source-mode editor, visible toolbar, same-row buttons.
========================================================= */

/* Main form/card */
body .sos-posting-form {
  width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto 30px auto !important;
}

body .sos-posting-card {
  max-width: 1100px !important;
  margin: 0 auto 24px auto !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.10), 0 10px 30px rgba(0,0,0,0.38) !important;
  overflow: hidden !important;
}

body .sos-posting-card-body {
  padding: 16px 18px 18px 18px !important;
  background: rgba(9,19,23,0.54) !important;
}

/* Subject */
body .sos-posting-subject {
  margin: 0 0 12px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
}

body .sos-posting-subject input[name="subject"] {
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: rgba(5,11,15,0.88) !important;
  color: var(--sos-light, #d4d6d6) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Hide post icons and smilie inserter */
body .sos-posting-hidden-icons,
body .sos-posting-hidden-icons *,
body .sos-posting-form #posticons,
body .sos-posting-form .posticons,
body .sos-posting-form input[name="icon"],
body .sos-posting-form #smilieinserter,
body .sos-posting-form .smilieinserter,
body .sos-posting-form .smilie_insert,
body .sos-posting-form .smilies {
  display: none !important;
}

/* Message source textarea before SCEditor initializes */
body .sos-posting-message-row,
body .sos-posting-message-col {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sos-posting-message-col textarea#message {
  width: 100% !important;
  min-height: 430px !important;
  padding: 14px !important;
  background: rgba(5,11,15,0.92) !important;
  color: var(--sos-light, #d4d6d6) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

/* SCEditor container */
body .sos-posting-form .sceditor-container {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 500px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(5,11,15,0.90) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  pointer-events: auto !important;
}

/* Toolbar */
body .sos-posting-form .sceditor-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: rgba(9,19,23,0.92) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.24) !important;
  box-sizing: border-box !important;
}

body .sos-posting-form .sceditor-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 5px 0 0 !important;
  padding: 0 7px 0 0 !important;
  border-right: 1px solid rgba(163,124,84,0.18) !important;
}

/* Toolbar buttons */
body .sos-posting-form .sceditor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 31px !important;
  height: 28px !important;
  min-width: 31px !important;
  min-height: 28px !important;
  max-width: 31px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(15,23,27,0.94) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body .sos-posting-form .sceditor-button div {
  display: none !important;
}

body .sos-posting-form .sceditor-button::before {
  display: block !important;
  color: #d8c0a6 !important;
  font-family: Georgia, serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.sceditor-button-bold::before { content: "B"; font-weight: bold; }
.sceditor-button-italic::before { content: "I"; font-style: italic; }
.sceditor-button-underline::before { content: "U"; text-decoration: underline; }
.sceditor-button-strike::before { content: "S"; text-decoration: line-through; }
.sceditor-button-left::before { content: "L"; }
.sceditor-button-center::before { content: "C"; }
.sceditor-button-right::before { content: "R"; }
.sceditor-button-justify::before { content: "J"; }
.sceditor-button-font::before { content: "Font"; font-size: 8px !important; }
.sceditor-button-size::before { content: "Size"; font-size: 8px !important; }
.sceditor-button-color::before { content: "Color"; font-size: 8px !important; }
.sceditor-button-removeformat::before { content: "Clear"; font-size: 8px !important; }
.sceditor-button-horizontalrule::before { content: "HR"; }
.sceditor-button-image::before { content: "Img"; font-size: 8px !important; }
.sceditor-button-email::before { content: "@"; }
.sceditor-button-link::before { content: "Link"; font-size: 8px !important; }
.sceditor-button-unlink::before { content: "Un"; }
.sceditor-button-video::before { content: "Vid"; font-size: 8px !important; }
.sceditor-button-bulletlist::before { content: "•"; font-size: 16px !important; }
.sceditor-button-orderedlist::before { content: "1."; }
.sceditor-button-code::before { content: "<>"; }
.sceditor-button-php::before { content: "PHP"; font-size: 8px !important; }
.sceditor-button-quote::before { content: "Q"; }
.sceditor-button-maximize::before { content: "Max"; font-size: 8px !important; }
.sceditor-button-source::before { content: "Src"; font-size: 8px !important; }

body .sos-posting-form .sceditor-button:hover,
body .sos-posting-form .sceditor-button.active {
  background: rgba(47,54,56,0.98) !important;
  border-color: rgba(163,124,84,0.58) !important;
}

body .sos-posting-form .sceditor-button:hover::before {
  color: #f1dfc8 !important;
}

/* This is the important part: source-mode textarea must be visible and clickable */
body .sos-posting-form .sceditor-container textarea {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  margin: 0 !important;
  padding: 14px !important;
  background: rgba(5,11,15,0.92) !important;
  color: #d4d6d6 !important;
  border: 0 !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  pointer-events: auto !important;
}

/* Hide the WYSIWYG iframe because we are using stable source mode */
body .sos-posting-form .sceditor-container iframe {
  display: none !important;
}

/* Hide original textarea only after SCEditor created its container */
body .sos-posting-form .sceditor-container + textarea#message,
body .sos-posting-form textarea#message[style*="display: none"] {
  display: none !important;
}

/* Grip */
body .sos-posting-form .sceditor-grip {
  display: block !important;
  height: 8px !important;
  background: rgba(9,19,23,0.82) !important;
  border-top: 1px solid rgba(163,124,84,0.16) !important;
}

/* Bottom action row */
body .sos-posting-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px 12px !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 14px 0 0 0 !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
  box-sizing: border-box !important;
}

body .sos-posting-actions a.links {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #d8c0a6 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}

body .sos-posting-actions button,
body .sos-posting-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

body .sos-posting-actions button:hover,
body .sos-posting-actions .button:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,0.70) !important;
}

/* Collapse panels */
body .sos-posting-form .collapse {
  color: var(--sos-text, #969ca5) !important;
}

body .sos-posting-form .collapse .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body .sos-posting-form .bg-nav {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.30) !important;
}

body .sos-posting-form #collapse-attach {
  background: rgba(9,19,23,0.66) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px !important;
  padding: 14px !important;
  margin-bottom: 12px !important;
}

/* Destroy old footer positioning from previous attempts */
body .sos-posting-form .card-footer,
body .sos-posting-form .card-footer.text-center {
  display: none !important;
}

/* =========================================================
   POSTING PAGE - PLAIN TEXTAREA + CUSTOM BBCODE TOOLBAR
   Bypasses SCEditor completely.
========================================================= */

html body form.sos-posting-form {
  width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto 30px auto !important;
}

html body form.sos-posting-form .sos-posting-card {
  max-width: 1100px !important;
  margin: 0 auto 24px auto !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.10), 0 10px 30px rgba(0,0,0,0.38) !important;
  overflow: hidden !important;
}

html body form.sos-posting-form .sos-posting-card-body {
  padding: 16px 18px 18px 18px !important;
  background: rgba(9,19,23,0.54) !important;
}

html body form.sos-posting-form .sos-posting-subject {
  margin: 0 0 12px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 1px solid rgba(163,124,84,0.22) !important;
}

html body form.sos-posting-form .sos-posting-subject input[name="subject"] {
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: rgba(5,11,15,0.88) !important;
  color: var(--sos-light, #d4d6d6) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Kill any leftover SCEditor ghosts */
html body form.sos-posting-form .sceditor-container,
html body form.sos-posting-form .sceditor-toolbar,
html body form.sos-posting-form .sceditor-grip,
html body form.sos-posting-form .sceditor-button,
html body form.sos-posting-form .sceditor-group,
html body form.sos-posting-form iframe {
  display: none !important;
}

/* Toolbar */
html body form.sos-posting-form .sos-bbcode-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  background: rgba(9,19,23,0.92) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  box-sizing: border-box !important;
}

html body form.sos-posting-form .sos-bbcode-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 31px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  background: rgba(15,23,27,0.94) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 4px !important;
  color: #d8c0a6 !important;
  box-shadow: none !important;
  font-family: Georgia, serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  text-transform: none !important;
}

html body form.sos-posting-form .sos-bbcode-button:hover {
  background: rgba(47,54,56,0.98) !important;
  border-color: rgba(163,124,84,0.58) !important;
  color: #f1dfc8 !important;
}

html body form.sos-posting-form .sos-bbcode-divider {
  display: inline-block !important;
  width: 1px !important;
  height: 24px !important;
  margin: 0 4px !important;
  background: rgba(163,124,84,0.20) !important;
}

/* The actual typable box */
html body form.sos-posting-form .sos-posting-message-row {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body form.sos-posting-form textarea#message,
html body form.sos-posting-form textarea.sos-posting-textarea {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px !important;
  background: rgba(5,11,15,0.92) !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 0 0 4px 4px !important;
  box-sizing: border-box !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  resize: vertical !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 5 !important;
}

/* Bottom row */
html body form.sos-posting-form .sos-posting-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px 12px !important;
  width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 14px 0 0 0 !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
  box-sizing: border-box !important;
}

html body form.sos-posting-form .sos-posting-actions a.links {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #d8c0a6 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}

html body form.sos-posting-form .sos-posting-actions button,
html body form.sos-posting-form .sos-posting-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: "IM Fell English", Georgia, serif !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

html body form.sos-posting-form .sos-posting-submit {
  margin-left: auto !important;
}

html body form.sos-posting-form .sos-posting-actions button:hover,
html body form.sos-posting-form .sos-posting-actions .button:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,0.70) !important;
}

/* Hide old footer if any old template fragments remain */
html body form.sos-posting-form .card-footer,
html body form.sos-posting-form .card-footer.text-center {
  display: none !important;
}

/* Collapse panels */
html body form.sos-posting-form .collapse {
  color: var(--sos-text, #969ca5) !important;
}

html body form.sos-posting-form .collapse .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html body form.sos-posting-form .bg-nav {
  background: #2F3638 !important;
  color: #d4d6d6 !important;
  border: 1px solid rgba(163,124,84,0.30) !important;
}

html body form.sos-posting-form #collapse-attach {
  background: rgba(9,19,23,0.66) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 4px !important;
  padding: 14px !important;
  margin-bottom: 12px !important;
}

/* =========================================================
   POSTING PAGE - KEEP ALL ACTION BUTTONS ON ONE ROW
========================================================= */

html body form.sos-posting-form .sos-posting-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

/* keep every item from dropping to the next line */
html body form.sos-posting-form .sos-posting-actions > * {
  flex: 0 0 auto !important;
}

/* make links/buttons a little slimmer */
html body form.sos-posting-form .sos-posting-actions a.links {
  min-height: 34px !important;
  font-size: 0.95rem !important;
}

html body form.sos-posting-form .sos-posting-actions button,
html body form.sos-posting-form .sos-posting-actions .button {
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.06em !important;
}

/* Post Reply sits after Save Draft, not on its own sad little raft */
html body form.sos-posting-form .sos-posting-submit {
  margin-left: 0 !important;
  order: 99 !important;
}

/* =========================================================
   POSTING PAGE - MANUAL COLLAPSE SUPPORT
========================================================= */

html body form.sos-posting-form .collapse {
  display: none;
}

html body form.sos-posting-form .collapse.show {
  display: block !important;
}

html body form.sos-posting-form #collapse-postop,
html body form.sos-posting-form #collapse-modop,
html body form.sos-posting-form #collapse-attach {
  margin-top: 14px !important;
}

/* =========================================================
   SHOWTHREAD BOTTOM - QUICK REPLY + SEARCH + MOD TOOLS
   based on current rendered HTML
========================================================= */

:root {
  --sos-thread-bottom-width: 1100px;
}

/* =========================================================
   QUICK REPLY
========================================================= */

#quick_reply_form {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 28px auto 34px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#quick_reply_form > .row {
  display: grid !important;
  grid-template-columns: 110px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#quick_reply_form > .row > .col-auto {
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  padding: 0 !important;
  margin: 0 !important;
}

#quick_reply_form > .row > .col-auto img {
  display: block !important;
  width: 100px !important;
  height: 100px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 auto !important;
  border: 1px solid rgba(163,124,84,0.42) !important;
  border-radius: 8px !important;
  background: rgba(9,19,23,0.90) !important;
}

#quick_reply_form > .row > .col {
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

#quick_reply_form .card {
  width: 100% !important;
  margin: 0 !important;
  background:
    linear-gradient(to bottom, rgba(9,19,23,0.62), rgba(9,19,23,0.80)),
    var(--sos-post-top-bg) center center / cover no-repeat !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.10), 0 10px 30px rgba(0,0,0,0.32) !important;
  overflow: hidden !important;
}

#quick_reply_form .card-body {
  padding: 14px 16px 12px 16px !important;
  background: transparent !important;
}

#quick_reply_form h6 {
  margin: 0 0 10px 0 !important;
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.05rem !important;
  font-weight: normal !important;
  letter-spacing: 0.04em !important;
}

#quick_reply_form textarea[name="message"],
#quick_reply_form textarea#message {
  display: block !important;
  width: 100% !important;
  height: 160px !important;
  min-height: 160px !important;
  margin: 0 !important;
  padding: 14px !important;
  resize: vertical !important;
  background: rgba(5,11,15,0.90) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  font-family: var(--sos-font) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

#quick_reply_form textarea::placeholder {
  color: rgba(150,156,165,0.58) !important;
}

#quick_reply_form .card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 16px 14px 16px !important;
  background: rgba(9,19,23,0.72) !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
}

#quick_reply_form .card-footer .btn,
#quick_reply_form .card-footer button,
#quick_reply_form .card-footer a.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

#quick_reply_form .card-footer .btn:hover,
#quick_reply_form .card-footer button:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,0.70) !important;
}

/* Multiquote notice */
#quickreply_multiquote {
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  padding: 10px 12px !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 5px !important;
  color: var(--sos-text) !important;
}

/* Quick reply options drawer */
#quick_reply_form #collapse-reply {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  background: rgba(9,19,23,0.80) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 5px !important;
  color: var(--sos-text) !important;
}

/* =========================================================
   THREAD SEARCH / NAV / ICON TOOLS
========================================================= */

.container-md > .row.mt-5.m-0.p-0.border-top.border-bottom {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 28px auto 10px auto !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(212,214,214,0.55) !important;
  border-bottom: 1px solid rgba(212,214,214,0.55) !important;
  box-sizing: border-box !important;
}

.sos-thread-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

.sos-thread-search-form input[name="keywords"] {
  width: 220px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  background: rgba(9,19,23,0.86) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

.sos-thread-search-form button {
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.container-md > .row.m-0.p-0.mt-2.text-end {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 0 auto 18px auto !important;
  padding: 8px 0 14px 0 !important;
  border-bottom: 1px solid rgba(212,214,214,0.38) !important;
  box-sizing: border-box !important;
}

.container-md > .row.m-0.p-0.mt-2.text-end .links {
  color: #d8c0a6 !important;
  font-size: 1rem !important;
}

/* =========================================================
   MODERATION OPTIONS
========================================================= */

.container-md > .row.mt-5.g-1.m-0.py-3.border-top.border-bottom {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 18px auto !important;
  padding: 14px 0 !important;
  border-top: 1px solid rgba(212,214,214,0.55) !important;
  border-bottom: 1px solid rgba(212,214,214,0.55) !important;
  box-sizing: border-box !important;
}

#moderator_options,
#inlinemoderation_options {
  width: 100% !important;
  margin: 0 !important;
}

#moderator_options .row,
#inlinemoderation_options .row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

#inlinemoderation_options .row {
  justify-content: flex-end !important;
}

#moderator_options select,
#inlinemoderation_options select {
  min-width: 220px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  background: rgba(9,19,23,0.86) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

#moderator_options button,
#inlinemoderation_options input.btn,
#inlinemoderation_options input.button {
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* Users browsing */
.container-md > .card.border-0.rounded.mt-5 {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 22px auto 30px auto !important;
  background: rgba(9,19,23,0.70) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.container-md > .card.border-0.rounded.mt-5 .card-body {
  background: transparent !important;
  color: var(--sos-text) !important;
}

/* =========================================================
   QUICK REPLY / SHOWTHREAD BOTTOM - OVERRIDE FIX
   Restores quick reply textarea and cleans lower thread tools
========================================================= */

:root {
  --sos-thread-bottom-width: 980px;
}

/* =========================================================
   QUICK REPLY: HARD RESET
========================================================= */

html body form#quick_reply_form {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 28px auto 34px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Main quick reply layout */
html body form#quick_reply_form > .row {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Avatar lane */
html body form#quick_reply_form > .row > .col-auto {
  display: block !important;
  width: 90px !important;
  min-width: 90px !important;
  max-width: 90px !important;
  padding: 0 !important;
  margin: 0 !important;
}

html body form#quick_reply_form > .row > .col-auto img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  object-position: center top !important;
  margin: 0 auto !important;
  border: 1px solid rgba(163,124,84,0.42) !important;
  border-radius: 6px !important;
  background: rgba(9,19,23,0.90) !important;
}

/* Editor lane */
html body form#quick_reply_form > .row > .col {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Multiquote notice */
html body form#quick_reply_form #quickreply_multiquote {
  width: 100% !important;
  margin: 0 0 8px 0 !important;
  padding: 10px 12px !important;
  background: rgba(9,19,23,0.74) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 5px !important;
  color: var(--sos-text) !important;
  box-sizing: border-box !important;
}

/* Quick reply card */
html body form#quick_reply_form .card {
  width: 100% !important;
  margin: 0 !important;
  background:
    linear-gradient(to bottom, rgba(9,19,23,0.78), rgba(9,19,23,0.88)),
    var(--sos-post-top-bg) center center / cover no-repeat !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 0 1px rgba(163,124,84,0.10), 0 10px 30px rgba(0,0,0,0.30) !important;
  overflow: hidden !important;
}

html body form#quick_reply_form .card-body {
  display: block !important;
  min-height: 0 !important;
  padding: 14px 16px !important;
  background: transparent !important;
}

/* Username/header */
html body form#quick_reply_form h6 {
  display: block !important;
  margin: 0 0 10px 0 !important;
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  font-size: 1.05rem !important;
  font-weight: normal !important;
  letter-spacing: 0.04em !important;
}

/* THE IMPORTANT PART:
   restore quick reply textarea after old newreply CSS hid it */
html body form#quick_reply_form textarea#message,
html body form#quick_reply_form textarea[name="message"],
html body form#quick_reply_form textarea.form-control {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px !important;
  resize: vertical !important;
  background: rgba(5,11,15,0.92) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.30) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  font-family: var(--sos-font) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 20 !important;
}

html body form#quick_reply_form textarea#message::placeholder {
  color: rgba(150,156,165,0.58) !important;
}

/* Quick reply gear drawer */
html body form#quick_reply_form #collapse-reply {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  background: rgba(9,19,23,0.86) !important;
  border: 1px solid rgba(163,124,84,0.26) !important;
  border-radius: 5px !important;
  color: var(--sos-text) !important;
}

/* Footer buttons */
html body form#quick_reply_form .card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 16px 14px 16px !important;
  background: rgba(9,19,23,0.74) !important;
  border-top: 1px solid rgba(163,124,84,0.18) !important;
}

html body form#quick_reply_form .card-footer button,
html body form#quick_reply_form .card-footer .btn,
html body form#quick_reply_form .card-footer a.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

html body form#quick_reply_form .card-footer button:hover,
html body form#quick_reply_form .card-footer .btn:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,0.70) !important;
}

/* =========================================================
   THREAD BOTTOM GENERAL WIDTH
========================================================= */

html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom,
html body .container-md > .row.m-0.p-0.mt-2.text-end,
html body .container-md > .row.mt-5.g-1.m-0.py-3.border-top.border-bottom,
html body .container-md > .card.border-0.rounded.mt-5 {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Search/navigation strip */
html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom {
  margin-top: 28px !important;
  margin-bottom: 10px !important;
  padding: 14px 8px !important;
  border-top: 1px solid rgba(212,214,214,0.45) !important;
  border-bottom: 1px solid rgba(212,214,214,0.45) !important;
}

html body .sos-thread-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
}

html body .sos-thread-search-form input[name="keywords"] {
  width: 190px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  background: rgba(9,19,23,0.86) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
}

html body .sos-thread-search-form button {
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Tiny utility icon row */
html body .container-md > .row.m-0.p-0.mt-2.text-end {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  padding: 8px 0 12px 0 !important;
  border-bottom: 1px solid rgba(212,214,214,0.32) !important;
}

html body .container-md > .row.m-0.p-0.mt-2.text-end .links {
  color: #d8c0a6 !important;
}

/* Moderation strip */
html body .container-md > .row.mt-5.g-1.m-0.py-3.border-top.border-bottom {
  margin-top: 12px !important;
  margin-bottom: 18px !important;
  padding: 12px 4px !important;
  border-top: 1px solid rgba(212,214,214,0.45) !important;
  border-bottom: 1px solid rgba(212,214,214,0.45) !important;
}

html body #moderator_options .row,
html body #inlinemoderation_options .row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

html body #inlinemoderation_options .row {
  justify-content: flex-end !important;
}

html body #moderator_options select,
html body #inlinemoderation_options select {
  min-width: 190px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  background: rgba(9,19,23,0.86) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
}

html body #moderator_options button,
html body #inlinemoderation_options input.btn,
html body #inlinemoderation_options input.button {
  min-height: 34px !important;
  padding: 7px 10px !important;
  margin: 0 !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,0.45) !important;
  border-radius: 4px !important;
  font-family: var(--sos-font) !important;
  font-size: 0.86rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* Users browsing */
html body .container-md > .card.border-0.rounded.mt-5 {
  margin-top: 18px !important;
  margin-bottom: 30px !important;
  background: rgba(9,19,23,0.70) !important;
  border: 1px solid rgba(163,124,84,0.22) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

html body .container-md > .card.border-0.rounded.mt-5 .card-body {
  background: transparent !important;
  color: var(--sos-text) !important;
}

/* =========================================================
   SHOWTHREAD BOTTOM - POLISHED CONTROL DOCK
   Quick reply + thread tools + moderation + browsing
   Paste BELOW the previous quick reply fixes.
========================================================= */

:root {
  --sos-thread-bottom-width: 980px;
}

/* =========================================================
   QUICK REPLY: make it feel anchored, not floating
========================================================= */

html body form#quick_reply_form {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 34px auto 18px auto !important;
  padding: 0 !important;
}

/* main layout */
html body form#quick_reply_form > .row {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
}

/* avatar sits like a little side marker */
html body form#quick_reply_form > .row > .col-auto {
  display: block !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  padding: 0 !important;
}

html body form#quick_reply_form > .row > .col-auto img {
  width: 76px !important;
  height: 76px !important;
  margin: 10px auto 0 auto !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid rgba(163,124,84,.44) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.28) !important;
  background: rgba(9,19,23,.9) !important;
}

/* multiquote notice as a small banner */
html body form#quick_reply_form #quickreply_multiquote {
  margin: 0 0 8px 0 !important;
  padding: 9px 12px !important;
  background: rgba(9,19,23,.78) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 6px !important;
  color: #aeb4ba !important;
  font-size: .9rem !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.015) !important;
}

html body form#quick_reply_form #quickreply_multiquote a {
  color: #d8c0a6 !important;
  font-weight: bold !important;
}

/* the actual quick reply card */
html body form#quick_reply_form .card {
  background:
    linear-gradient(to bottom, rgba(9,19,23,.70), rgba(5,11,15,.92)),
    var(--sos-post-top-bg) center center / cover no-repeat !important;
  border: 1px solid rgba(163,124,84,.30) !important;
  border-radius: 8px !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    0 14px 34px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.018) !important;
  overflow: hidden !important;
}

/* name strip */
html body form#quick_reply_form h6 {
  display: block !important;
  margin: -14px -16px 12px -16px !important;
  padding: 10px 14px !important;
  background: rgba(9,19,23,.72) !important;
  border-bottom: 1px solid rgba(163,124,84,.18) !important;
  color: #d8c0a6 !important;
  font-family: var(--sos-font) !important;
  font-size: 1.05rem !important;
  font-weight: normal !important;
  letter-spacing: .04em !important;
}

/* textarea */
html body form#quick_reply_form textarea#message,
html body form#quick_reply_form textarea[name="message"] {
  height: 145px !important;
  min-height: 145px !important;
  padding: 14px !important;
  background: rgba(5,11,15,.78) !important;
  border: 1px solid rgba(163,124,84,.24) !important;
  border-radius: 6px !important;
  color: var(--sos-light) !important;
  box-shadow: inset 0 0 20px rgba(0,0,0,.18) !important;
}

/* option drawer */
html body form#quick_reply_form #collapse-reply {
  margin-top: 10px !important;
  padding: 11px 14px !important;
  background: rgba(5,11,15,.78) !important;
  border: 1px solid rgba(163,124,84,.24) !important;
  border-radius: 6px !important;
  line-height: 1.7 !important;
}

/* button footer becomes attached to card */
html body form#quick_reply_form .card-footer {
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 14px 13px !important;
  background: rgba(9,19,23,.82) !important;
  border-top: 1px solid rgba(163,124,84,.20) !important;
}

/* compact quick reply buttons */
html body form#quick_reply_form .card-footer button,
html body form#quick_reply_form .card-footer .btn,
html body form#quick_reply_form .card-footer a.btn {
  min-height: 34px !important;
  padding: 7px 12px !important;
  background: rgba(47,54,56,.94) !important;
  border: 1px solid rgba(163,124,84,.42) !important;
  border-radius: 5px !important;
  color: #f1dfc8 !important;
  font-size: .88rem !important;
  letter-spacing: .05em !important;
}

/* =========================================================
   THREAD TOOL DOCK
========================================================= */

/* Search/nav strip as one tidy panel */
html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 16px auto 0 auto !important;
  padding: 12px 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  background: rgba(9,19,23,.66) !important;
  border: 1px solid rgba(163,124,84,.24) !important;
  border-radius: 8px 8px 0 0 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.08),
    0 10px 26px rgba(0,0,0,.22) !important;
}

/* kill bootstrap column weirdness inside search/nav */
html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom > div {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* search form */
html body .sos-thread-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

html body .sos-thread-search-form input[name="keywords"] {
  width: 210px !important;
  min-height: 34px !important;
  background: rgba(5,11,15,.82) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 5px !important;
  color: var(--sos-light) !important;
}

html body .sos-thread-search-form button {
  min-height: 34px !important;
  padding: 7px 12px !important;
  background: rgba(47,54,56,.94) !important;
  border: 1px solid rgba(163,124,84,.42) !important;
  border-radius: 5px !important;
  color: #f1dfc8 !important;
  font-size: .86rem !important;
  letter-spacing: .05em !important;
}

/* next oldest/newest */
html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom .links {
  color: #d8c0a6 !important;
  font-family: var(--sos-font) !important;
  font-size: .95rem !important;
  white-space: nowrap !important;
}

html body .container-md > .row.mt-5.m-0.p-0.border-top.border-bottom .links:hover {
  color: #f1dfc8 !important;
}

/* icon tool row attaches underneath */
html body .container-md > .row.m-0.p-0.mt-2.text-end {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 0 auto !important;
  padding: 8px 14px !important;
  background: rgba(5,11,15,.72) !important;
  border-left: 1px solid rgba(163,124,84,.24) !important;
  border-right: 1px solid rgba(163,124,84,.24) !important;
  border-bottom: 1px solid rgba(163,124,84,.18) !important;
  box-sizing: border-box !important;
}

html body .container-md > .row.m-0.p-0.mt-2.text-end .links {
  color: #d8c0a6 !important;
  opacity: .9 !important;
}

html body .container-md > .row.m-0.p-0.mt-2.text-end .links:hover {
  opacity: 1 !important;
  color: #f1dfc8 !important;
}

/* moderation strip as attached bottom piece */
html body .container-md > .row.mt-5.g-1.m-0.py-3.border-top.border-bottom {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 0 auto 16px auto !important;
  padding: 12px 14px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  background: rgba(9,19,23,.66) !important;
  border: 1px solid rgba(163,124,84,.24) !important;
  border-top: 0 !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow:
    0 12px 26px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.015) !important;
}

/* keep mod columns sane */
html body .container-md > .row.mt-5.g-1.m-0.py-3.border-top.border-bottom > div {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* forms inside moderation */
html body #moderator_options,
html body #inlinemoderation_options {
  width: 100% !important;
}

html body #moderator_options .row,
html body #inlinemoderation_options .row {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
}

html body #inlinemoderation_options .row {
  justify-content: flex-end !important;
}

html body #moderator_options select,
html body #inlinemoderation_options select {
  min-width: 190px !important;
  min-height: 34px !important;
  background: rgba(5,11,15,.82) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 5px !important;
  color: var(--sos-light) !important;
}

html body #moderator_options button,
html body #inlinemoderation_options input.btn {
  min-height: 34px !important;
  padding: 7px 11px !important;
  background: rgba(47,54,56,.94) !important;
  border: 1px solid rgba(163,124,84,.42) !important;
  border-radius: 5px !important;
  color: #f1dfc8 !important;
  font-size: .86rem !important;
  letter-spacing: .05em !important;
}

/* users browsing as a quiet final tag */
html body .container-md > .card.border-0.rounded.mt-5 {
  width: var(--sos-thread-bottom-width) !important;
  max-width: var(--sos-thread-bottom-width) !important;
  margin: 16px auto 34px auto !important;
  background: rgba(9,19,23,.62) !important;
  border: 1px solid rgba(163,124,84,.22) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
}

html body .container-md > .card.border-0.rounded.mt-5 .card-body {
  padding: 12px 14px !important;
  background: transparent !important;
  color: #aeb4ba !important;
  font-size: .92rem !important;
}

/* soften any remaining harsh borders in this zone */
html body form#quick_reply_form ~ .container-md .border-top,
html body form#quick_reply_form ~ .container-md .border-bottom {
  border-color: rgba(163,124,84,.24) !important;
}

/* =========================================================
   QUICK REPLY - CONTAINED AVATAR VERSION
========================================================= */

#quick_reply_form {
	width: 980px !important;
	max-width: 980px !important;
	margin: 34px auto 20px auto !important;
	padding: 0 !important;
}

.sos-quickreply-wrap {
	width: 100% !important;
	margin: 0 auto !important;
}

.sos-quickreply-card {
	position: relative !important;
	background:
		linear-gradient(to bottom, rgba(8,18,22,.72), rgba(4,10,14,.94)),
		var(--sos-post-top-bg) center center / cover no-repeat !important;
	border: 1px solid rgba(163,124,84,.28) !important;
	border-radius: 8px !important;
	box-shadow:
		0 0 0 1px rgba(163,124,84,.08),
		0 14px 34px rgba(0,0,0,.28),
		inset 0 0 0 1px rgba(255,255,255,.015) !important;
	overflow: hidden !important;
}

/* make sure no overlay blocks clicking */
.sos-quickreply-card::before,
.sos-quickreply-card::after {
	pointer-events: none !important;
}

/* multiquote bar */
#quickreply_multiquote.sos-quickreply-multiquote {
	position: relative !important;
	z-index: 5 !important;
	display: block;
	margin: 0 !important;
	padding: 12px 16px !important;
	background: rgba(8,18,22,.78) !important;
	border-bottom: 1px solid rgba(163,124,84,.20) !important;
	color: #b8b8b8 !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	pointer-events: auto !important;
}

#quickreply_multiquote.sos-quickreply-multiquote a {
	position: relative !important;
	z-index: 6 !important;
	color: #dcc3a6 !important;
	font-weight: bold !important;
	text-decoration: none !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

#quickreply_multiquote.sos-quickreply-multiquote a:hover {
	color: #f0dcc3 !important;
	text-decoration: underline !important;
}

/* main layout */
.sos-quickreply-main {
	display: grid !important;
	grid-template-columns: 100px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: start !important;
	padding: 18px !important;
}

/* avatar window */
.sos-quickreply-avatar {
	width: 100px !important;
	min-width: 100px !important;
	max-width: 100px !important;
	height: 160px !important;
	overflow: hidden !important;
	border-radius: 42px 42px 10px 10px !important;
	border: 1px solid rgba(163,124,84,.40) !important;
	background: rgba(5,11,15,.88) !important;
	box-shadow:
		0 10px 20px rgba(0,0,0,.22),
		inset 0 0 0 1px rgba(255,255,255,.02) !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
}

.sos-quickreply-avatar img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: inherit !important;
}

/* content area */
.sos-quickreply-content {
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

.sos-quickreply-head {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}

.sos-quickreply-head h6 {
	margin: 0 !important;
	padding: 0 !important;
	color: #d8c0a6 !important;
	font-family: var(--sos-font) !important;
	font-size: 1.1rem !important;
	font-weight: normal !important;
	letter-spacing: .03em !important;
}

/* textarea */
.sos-quickreply-body textarea#message,
.sos-quickreply-body textarea[name="message"] {
	width: 100% !important;
	min-height: 150px !important;
	height: 150px !important;
	padding: 14px !important;
	background: rgba(5,11,15,.78) !important;
	border: 1px solid rgba(163,124,84,.24) !important;
	border-radius: 6px !important;
	color: var(--sos-light) !important;
	resize: vertical !important;
	box-shadow: inset 0 0 18px rgba(0,0,0,.16) !important;
}

.sos-quickreply-body textarea#message:focus,
.sos-quickreply-body textarea[name="message"]:focus {
	outline: none !important;
	border-color: rgba(163,124,84,.44) !important;
	box-shadow:
		inset 0 0 18px rgba(0,0,0,.16),
		0 0 0 1px rgba(163,124,84,.18) !important;
}

/* options drawer */
.sos-quickreply-options {
	margin-top: 10px !important;
	padding: 12px 14px !important;
	background: rgba(5,11,15,.75) !important;
	border: 1px solid rgba(163,124,84,.22) !important;
	border-radius: 6px !important;
}

/* action row */
.sos-quickreply-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-top: 12px !important;
	padding-top: 12px !important;
	border-top: 1px solid rgba(163,124,84,.18) !important;
}

.sos-quickreply-actions .btn,
.sos-quickreply-actions .btn-thread {
	min-height: 34px !important;
	padding: 7px 13px !important;
	border-radius: 5px !important;
	font-size: .88rem !important;
	letter-spacing: .04em !important;
}

/* kill old outer layout leftovers if still present */
#quick_reply_form > .row,
#quick_reply_form .col-auto,
#quick_reply_form .col {
	all: unset;
}

/* but restore block behavior where needed */
#quick_reply_form .sos-quickreply-wrap,
#quick_reply_form .sos-quickreply-card,
#quick_reply_form .sos-quickreply-main,
#quick_reply_form .sos-quickreply-avatar,
#quick_reply_form .sos-quickreply-content,
#quick_reply_form .sos-quickreply-head,
#quick_reply_form .sos-quickreply-body,
#quick_reply_form .sos-quickreply-actions {
	display: block;
}

#quick_reply_form .sos-quickreply-main {
	display: grid !important;
}

#quick_reply_form .sos-quickreply-actions {
	display: flex !important;
}

/* =========================================================
   QUICK REPLY - BIGGER CONTAINED AVATAR + CLICK FIXES
========================================================= */

html body #quick_reply_form {
  width: 1100px !important;
  max-width: 1100px !important;
}

/* Bigger avatar: 150 wide, 240 tall = same 250x400 ratio */
html body #quick_reply_form .sos-quickreply-main {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 18px !important;
}

html body #quick_reply_form .sos-quickreply-avatar {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  height: 240px !important;
  overflow: hidden !important;
  border-radius: 75px 75px 10px 10px !important;
  border: 1px solid rgba(163,124,84,.45) !important;
  background: rgba(5,11,15,.90) !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

html body #quick_reply_form .sos-quickreply-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: inherit !important;
}

/* If no avatar loads, keep the window pretty instead of blank-broken */
html body #quick_reply_form .sos-quickreply-avatar.is-empty {
  background:
    linear-gradient(to bottom, rgba(9,19,23,.65), rgba(5,11,15,.95)),
    url(https://i.imgur.com/JeAjZAn.png) center center / cover no-repeat !important;
}

/* Make sure nothing decorative eats the clicks */
html body #quick_reply_form,
html body #quick_reply_form *,
html body #quick_reply_form button,
html body #quick_reply_form a,
html body #quickreply_multiquote,
html body #quickreply_multiquote a {
  pointer-events: auto !important;
}

html body #quick_reply_form .sos-quickreply-card::before,
html body #quick_reply_form .sos-quickreply-card::after,
html body #quick_reply_form .sos-quickreply-main::before,
html body #quick_reply_form .sos-quickreply-main::after {
  pointer-events: none !important;
}

/* Keep functional things above decorative layers */
html body #quick_reply_form .sos-quickreply-content,
html body #quick_reply_form .sos-quickreply-actions,
html body #quick_reply_form .sos-quickreply-actions button,
html body #quick_reply_form .sos-quickreply-actions a,
html body #quick_reply_form #collapse-reply,
html body #quickreply_multiquote,
html body #quickreply_multiquote a {
  position: relative !important;
  z-index: 20 !important;
}

/* Make the multiquote notice fit the card width better */
html body #quick_reply_form #quickreply_multiquote {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
}

/* =========================================================
   QUICK REPLY - FINAL CLEANUP
========================================================= */

/* hide old multiquote bar entirely if MyBB tries to inject it elsewhere */
html body #quickreply_multiquote {
  display: none !important;
}

/* make settings drawer obey our custom button */
html body #quick_reply_form #collapse-reply {
  display: none;
}

html body #quick_reply_form #collapse-reply.show {
  display: block !important;
}

/* bigger 150 x 240 avatar window */
html body #quick_reply_form .sos-quickreply-main {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 18px !important;
}

html body #quick_reply_form .sos-quickreply-avatar {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  height: 240px !important;
  overflow: hidden !important;
  border-radius: 75px 75px 10px 10px !important;
  border: 1px solid rgba(163,124,84,.45) !important;
  background: rgba(5,11,15,.90) !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

html body #quick_reply_form .sos-quickreply-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: inherit !important;
}

/* settings button is a button now, not a cursed decoration */
html body #quick_reply_form .sos-quickreply-toggle {
  cursor: pointer !important;
}

/* =========================================================
   SHOWTHREAD - CUSTOM THREAD TITLE / INFO BAR
========================================================= */

.sos-thread-titlebar {
  width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 22px auto 18px auto !important;
  padding: 18px 22px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: center !important;
  background:
    linear-gradient(to bottom, rgba(9,19,23,.78), rgba(5,11,15,.92)),
    var(--sos-post-top-bg) center center / cover no-repeat !important;
  border: 1px solid rgba(163,124,84,.30) !important;
  border-radius: 8px !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    0 14px 34px rgba(0,0,0,.30),
    inset 0 0 0 1px rgba(255,255,255,.018) !important;
  box-sizing: border-box !important;
}

.sos-thread-titlebar__left {
  min-width: 0 !important;
}

.sos-thread-crumbs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 6px 0 !important;
  color: rgba(150,156,165,.82) !important;
  font-family: var(--sos-font) !important;
  font-size: .9rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.sos-thread-crumbs a {
  color: #d8c0a6 !important;
  text-decoration: none !important;
}

.sos-thread-crumbs a:hover {
  color: #f1dfc8 !important;
}

.sos-thread-titlebar h1 {
  margin: 0 !important;
  color: #d8c0a6 !important;
  font-family: var(--sos-font) !important;
  font-size: 2rem !important;
  font-weight: normal !important;
  line-height: 1.1 !important;
  letter-spacing: .03em !important;
}

.sos-thread-meta {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 8px !important;
  color: rgba(150,156,165,.80) !important;
  font-size: .9rem !important;
}

.sos-thread-meta:empty {
  display: none !important;
}

.sos-thread-titlebar__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

.sos-thread-titlebar__actions a,
.sos-thread-titlebar__actions .button,
.sos-thread-titlebar__actions .btn,
.sos-thread-titlebar__actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  background: #2F3638 !important;
  color: #f1dfc8 !important;
  border: 1px solid rgba(163,124,84,.45) !important;
  border-radius: 5px !important;
  font-family: var(--sos-font) !important;
  font-size: .95rem !important;
  letter-spacing: .05em !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.sos-thread-titlebar__actions a:hover,
.sos-thread-titlebar__actions .button:hover,
.sos-thread-titlebar__actions .btn:hover,
.sos-thread-titlebar__actions button:hover {
  background: #3a4346 !important;
  color: #fff4e6 !important;
  border-color: rgba(163,124,84,.70) !important;
}

/* Hide loose old top buttons if they are still floating above the post */
.sos-thread-titlebar + .float_right,
.sos-thread-titlebar + .float_left {
  display: none !important;
}

/* =========================================================
   SHOWTHREAD - ATTACHED THREAD STACK
   Makes titlebar + post cards read as one connected unit.
========================================================= */

/* Thread title becomes the cap of the stack */
.sos-thread-titlebar {
  margin: 22px auto 0 auto !important;
  border-radius: 8px 8px 0 0 !important;
  border-bottom: 1px solid rgba(163,124,84,.22) !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    0 14px 34px rgba(0,0,0,.26),
    inset 0 0 0 1px rgba(255,255,255,.018) !important;
}

/* All post cards attach into one vertical stack */
.sos-post {
  margin: 0 auto !important;
  border-radius: 0 !important;
  border-top: 0 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    inset 0 0 0 1px rgba(255,255,255,.012) !important;
}

/* Keep post width exactly matched to the titlebar */
.sos-thread-titlebar,
.sos-post {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  box-sizing: border-box !important;
}

/* Each post gets an internal divider instead of floating spacing */
.sos-post + .sos-post {
  border-top: 1px solid rgba(163,124,84,.28) !important;
}

/* So the left portrait column feels joined, not like a separate slab */
.sos-post__side {
  border-right: 1px solid rgba(163,124,84,.20) !important;
  background: rgba(5,11,15,.22) !important;
}

/* So the right/main post section feels connected too */
.sos-post__main {
  border-left: 0 !important;
}

/* Give the last visible post a finished bottom edge */
.sos-post:last-of-type {
  border-radius: 0 0 8px 8px !important;
  margin-bottom: 26px !important;
}

/* If last-of-type does not catch because MyBB has utility blocks after posts,
   this still gives every post a clean lower seam. */
.sos-post::after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(163,124,84,.22),
    transparent
  );
}

/* Post utility rows should feel built into the card */
.sos-post__utility {
  margin-left: -18px !important;
  margin-right: -18px !important;
  background: rgba(5,11,15,.82) !important;
  border-top: 1px solid rgba(163,124,84,.16) !important;
  border-bottom: 1px solid rgba(163,124,84,.16) !important;
}

/* The post body sits as a continuation, not a separate floating panel */
.sos-post__body {
  background: rgba(5,11,15,.94) !important;
  border-top: 0 !important;
}

/* Reduce extra space from any legacy thread wrappers/buttons around posts */
.sos-thread-titlebar + br,
.sos-post + br {
  display: none !important;
}

/* If old loose post reply / subscribe buttons are still above the stack,
   visually tuck them into the page instead of making them a separate island. */
.container-md > .text-end.mb-3,
.container-md > .float_right,
.container-md > .float_left {
  margin-bottom: 0 !important;
}

/* =========================================================
   SHOWTHREAD - FORCE POSTS INTO ONE ATTACHED STACK
   Stronger override for floating post cards.
========================================================= */

/* Titlebar is the stack cap */
html body .sos-thread-titlebar {
  margin-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
}

/* Remove all vertical drift from post cards */
html body .sos-post {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;

  margin-top: -1px !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;

  border-radius: 0 !important;
  border-top: 1px solid rgba(163,124,84,.24) !important;
  border-bottom: 0 !important;

  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    inset 0 0 0 1px rgba(255,255,255,.012) !important;

  box-sizing: border-box !important;
}

/* Make sure any old Bootstrap/container spacing around posts does not reopen gaps */
html body .sos-post,
html body .sos-post.p-0,
html body .sos-post.mb-4,
html body .sos-post.mt-4,
html body .sos-post.my-4 {
  margin-top: -1px !important;
  margin-bottom: 0 !important;
}

/* Kill empty spacing between post cards */
html body .sos-post + br,
html body .sos-post + .clear,
html body .sos-post + .clearfix {
  display: none !important;
}

/* Attach every post after the first with a visible seam instead of a gap */
html body .sos-post + .sos-post {
  margin-top: -1px !important;
  border-top: 1px solid rgba(163,124,84,.34) !important;
}

/* If MyBB inserts wrappers between post cards, flatten their spacing */
html body .sos-post-wrapper,
html body .post_wrapper,
html body .postbit_wrapper {
  margin: 0 auto !important;
  padding: 0 !important;
}

/* First post should sit directly under the titlebar */
html body .sos-thread-titlebar ~ .sos-post:first-of-type,
html body .sos-thread-titlebar + .sos-post {
  margin-top: -1px !important;
}

/* Finish the last post with a bottom curve */
html body .sos-post:last-of-type {
  border-radius: 0 0 8px 8px !important;
  border-bottom: 1px solid rgba(163,124,84,.24) !important;
  margin-bottom: 28px !important;
}

/* Remove extra internal fake bottom line if it makes a double divider */
html body .sos-post::after {
  display: none !important;
}

/* =========================================================
   SHOWTHREAD - TRUE ATTACHED POST STACK
   Targets MyBB/Bootstrap wrappers around each post.
   Desktop-preserving. No mobile stacking.
========================================================= */

/* Make the whole post area one fixed-width stack */
html body #posts {
  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;
  margin: 0 auto 28px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Desktop post wrappers: these are the real siblings */
html body #posts > div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Hide the responsive/mobile duplicate cards completely on desktop */
html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Posts fill their wrapper instead of acting like separate floating cards */
html body #posts > div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block > article.sos-post {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow:
    0 0 0 1px rgba(163,124,84,.10),
    inset 0 0 0 1px rgba(255,255,255,.012) !important;
  box-sizing: border-box !important;
}

/* Attach every desktop post after a hidden responsive duplicate */
html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none
+ div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block {
  margin-top: -1px !important;
}

/* Give each post after the first a seam instead of a gap */
html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none
+ div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block
> article.sos-post {
  border-top: 1px solid rgba(163,124,84,.28) !important;
}

/* First post attaches to the thread titlebar */
html body .sos-thread-titlebar + #posts,
html body .sos-thread-titlebar ~ #posts {
  margin-top: 0 !important;
}

html body .sos-thread-titlebar {
  margin-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
}

/* First visible post should not have a top curve */
html body #posts > div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block:first-child > article.sos-post {
  border-radius: 0 !important;
  border-top: 0 !important;
}

/* Last desktop post gets the finished bottom curve */
html body #posts > div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block:last-of-type > article.sos-post {
  border-radius: 0 0 8px 8px !important;
  border-bottom: 1px solid rgba(163,124,84,.24) !important;
}

/* Remove any accidental top/bottom spacing inside the article grid */
html body #posts article.sos-post .sos-post__grid {
  margin: 0 !important;
  padding: 0 !important;
}

/* Kill old decorative fake separators if they survived */
html body #posts article.sos-post::before,
html body #posts article.sos-post::after {
  display: none !important;
  content: none !important;
}

/* Make the side/main backgrounds feel continuous */
html body #posts article.sos-post .sos-post__side,
html body #posts article.sos-post .sos-post__main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Optional: if the first line inside each post still sits too low */
html body #posts article.sos-post .sos-post__namewrap {
  margin-top: 0 !important;
}

/* =========================================================
   SHOWTHREAD - POST DIVIDER + QUOTE BOX BREATHING ROOM
========================================================= */

/* Divider between attached desktop posts */
html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none
+ div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block {
  position: relative !important;
}

html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none
+ div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block::before {
  content: "" !important;
  display: block !important;
  height: 18px !important;
  width: 100% !important;
  background:
    linear-gradient(to right, transparent, rgba(163,124,84,.18), transparent),
    rgba(5,11,15,.72) !important;
  border-top: 1px solid rgba(163,124,84,.32) !important;
  border-bottom: 1px solid rgba(163,124,84,.22) !important;
  box-sizing: border-box !important;
}

/* Keep the actual post attached directly under the divider */
html body #posts > div.d-block.d-sm-block.d-md-block.d-lg-none.d-xl-none.d-xxl-none
+ div.d-none.d-sm-none.d-md-none.d-lg-block.d-xl-block.d-xxl-block > article.sos-post {
  margin-top: 0 !important;
}

/* Make side column tall enough for portrait + custom quote without clipping */
html body #posts article.sos-post .sos-post__side {
  padding-bottom: 34px !important;
  overflow: visible !important;
}

html body #posts article.sos-post .sos-post__stickwrap {
  padding-bottom: 28px !important;
  margin-bottom: 28px !important;
  overflow: visible !important;
}

/* Custom quote box gets breathing room at the bottom */
html body #posts article.sos-post .sos-post__quote {
  margin-bottom: 28px !important;
  overflow: visible !important;
}

/* If quote box is empty, do not reserve weird extra space */
html body #posts article.sos-post .sos-post__quote:empty {
  display: none !important;
  margin-bottom: 0 !important;
}

/* But if MyBB leaves whitespace inside it, keep it tidy */
html body #posts article.sos-post .sos-post__quote {
  min-height: 72px !important;
}

/* =========================================================
   HEADER / BANNER HEIGHT - MOVE FORUM UP
========================================================= */

:root {
  --sos-banner-height: 370px;
}

/* This is the empty spacer pushing the forum downward */
html body #logobanner {
  height: var(--sos-banner-height) !important;
  min-height: var(--sos-banner-height) !important;
  max-height: var(--sos-banner-height) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* keep the floating logo/title positioned nicely inside the shorter banner */
html body #logobanner .floating-banner-wrapper {
  top: 26px !important;
}

/* remove extra breathing room after the header if the theme adds any */
html body #header {
  margin-bottom: 0 !important;
}

/* =========================================================
   USER CP PROFILE - BIRTHDAY PRIVACY FIELD
========================================================= */

.sos-ucp-profile-submit--stacked {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}

.sos-birthday-privacy-field {
  width: 320px !important;
  max-width: 100% !important;
  padding: 12px !important;
  background: rgba(9,19,23,0.72) !important;
  border: 1px solid rgba(163,124,84,0.24) !important;
  border-radius: 5px !important;
}

.sos-birthday-privacy-field label {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.sos-birthday-privacy-field select {
  width: 100% !important;
  min-height: 38px !important;
  background: rgba(5,11,15,0.88) !important;
  color: var(--sos-light) !important;
  border: 1px solid rgba(163,124,84,0.28) !important;
  border-radius: 4px !important;
}

/* =========================================================
   MEMBER PROFILE - RESTORE OLD LAYOUT
   Put at VERY BOTTOM.
========================================================= */

.sos-profile-restored {
  width: 860px !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

/* name */
.sos-profile-restored .sos-mockprofile__namewrap {
  margin-bottom: 8px !important;
  text-align: center !important;
}

.sos-profile-restored .sos-mockprofile__name {
  color: var(--sos-brass) !important;
  font-family: var(--sos-font) !important;
  font-style: italic !important;
  letter-spacing: .03em !important;
}

/* gallery */
.sos-profile-restored .sos-mockprofile__hero {
  margin: 0 0 12px 0 !important;
  text-align: center !important;
}

.sos-profile-restored .sos-gallery-panels {
  margin-bottom: 6px !important;
}

.sos-profile-restored .sos-gallery-stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  background: rgba(9,19,23,.72) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 14px 14px 0 0 !important;
  overflow: hidden !important;
}

.sos-profile-restored .sos-gallery-stage img {
  display: block !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.sos-profile-restored .sos-mockprofile__thumbs {
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sos-profile-restored .sos-gallery-thumb {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid rgba(163,124,84,.45) !important;
  border-radius: 5px !important;
  background: rgba(15,23,27,.90) !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.sos-profile-restored button.sos-gallery-thumb {
  appearance: none !important;
}

.sos-profile-restored .sos-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.sos-profile-restored .sos-gallery-thumb.is-active {
  border-color: rgba(163,124,84,.9) !important;
  box-shadow: 0 0 0 2px rgba(163,124,84,.16) !important;
}

/* top block */
.sos-profile-restored .sos-mockprofile__toprow {
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-bottom: 12px !important;
  height: auto !important;
}

.sos-profile-restored .sos-mockprofile__avatarcol {
  width: 210px !important;
  min-width: 210px !important;
}

.sos-profile-restored .sos-avatarwindow {
  width: 210px !important;
  height: 360px !important;
  padding: 8px !important;
  border-radius: 105px 105px 0 0 !important;
  overflow: hidden !important;
}

.sos-profile-restored .sos-avatarwindow img,
.sos-profile-restored .sos-avatarwindow .avatar img,
.sos-profile-restored .sos-avatarwindow .avatar-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 96px 96px 0 0 !important;
}

.sos-profile-restored .sos-mockprofile__rightcol {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: auto !important;
}

/* pills */
.sos-profile-restored .sos-pillbar {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px 0 !important;
}

.sos-profile-restored .sos-pill {
  min-height: 36px !important;
  height: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: center !important;
}

.sos-profile-restored .sos-pill__label,
.sos-profile-restored .sos-pill__value {
  font-size: .82rem !important;
  line-height: 1.1 !important;
}

/* vitals */
.sos-profile-restored .sos-vitals {
  flex: 1 1 auto !important;
  padding: 12px !important;
}

.sos-profile-restored .sos-vitals__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  overflow: visible !important;
  max-height: none !important;
}

.sos-profile-restored .sos-vital {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 6px !important;
  min-height: 28px !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
}

.sos-profile-restored .sos-vital__label,
.sos-profile-restored .sos-vital__value {
  font-size: .78rem !important;
  line-height: 1.2 !important;
}

/* stats */
.sos-profile-restored .sos-profile-stats {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.sos-profile-restored .sos-statpill {
  min-height: 30px !important;
  padding: 5px 8px !important;
}

/* sections */
.sos-profile-restored .sos-card {
  margin-bottom: 10px !important;
}

.sos-profile-restored .sos-tiergrid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.sos-profile-restored .sos-tiercard {
  min-height: 160px !important;
}

.sos-profile-restored .sos-mentalitygrid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.sos-profile-restored .sos-copy,
.sos-profile-restored .sos-tiercard__body,
.sos-profile-restored .sos-mini-card__body,
.sos-profile-restored .sos-historyfamily__body {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* =========================================================
   SOS PROFILE TOP SECTION - FINAL TIGHTENED VERSION
   Fixes:
   - removes giant empty gaps
   - makes vitals box fill the full right-side width
   - keeps vitals the same height as the avatar
   - drops the avatar down so its bottom aligns with vitals
   - shrinks pill text so it fits better
   ========================================================= */

.sos-profile-restored {
  --profile-avatar-w: 260px;
  --profile-avatar-h: 500px;

  --profile-gap: 18px;

  --profile-pill-h: 42px;
  --profile-pill-gap: 10px;

  --profile-vitals-title-h: 26px;
  --profile-vital-row-h: 27px;
  --profile-vital-gap: 3px;
  --profile-vital-label-w: 140px;
}

/* whole top area */
.sos-profile-restored .sos-mockprofile__toprow {
  display: grid !important;
  grid-template-columns: var(--profile-avatar-w) minmax(0, 1fr) !important;
  column-gap: var(--profile-gap) !important;
  align-items: start !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* avatar column */
.sos-profile-restored .sos-mockprofile__avatarwrap,
.sos-profile-restored .sos-mockprofile__avatar {
  width: var(--profile-avatar-w) !important;
  height: var(--profile-avatar-h) !important;
  margin: calc(var(--profile-pill-h) + var(--profile-pill-gap) + 6px) 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  align-self: start !important;
  justify-self: start !important;
}

.sos-profile-restored .sos-mockprofile__avatarwrap img,
.sos-profile-restored .sos-mockprofile__avatar img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* right side = pills + vitals */
.sos-profile-restored .sos-mockprofile__rightcol {
  min-width: 0 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-rows: var(--profile-pill-h) var(--profile-avatar-h) !important;
  row-gap: var(--profile-pill-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}

/* pill row */
.sos-profile-restored .sos-pillbar,
.sos-profile-restored .sos-mockprofile__pillbar {
  width: 100% !important;
  height: var(--profile-pill-h) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* pills */
.sos-profile-restored .sos-pill,
.sos-profile-restored .sos-mockprofile__pill {
  min-width: 0 !important;
  height: var(--profile-pill-h) !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* make any bold / strong inside pills slightly smaller/tighter too */
.sos-profile-restored .sos-pill strong,
.sos-profile-restored .sos-pill b,
.sos-profile-restored .sos-mockprofile__pill strong,
.sos-profile-restored .sos-mockprofile__pill b,
.sos-profile-restored .sos-pill span,
.sos-profile-restored .sos-mockprofile__pill span {
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* vitals box */
.sos-profile-restored .sos-vitals,
.sos-profile-restored .sos-mockprofile__vitals {
  width: 100% !important;
  max-width: none !important;
  height: var(--profile-avatar-h) !important;
  min-height: 0 !important;
  justify-self: stretch !important;
  align-self: start !important;

  margin: 0 !important;
  padding: 8px 14px 10px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-rows: var(--profile-vitals-title-h) minmax(0, 1fr) !important;
}

/* vitals heading */
.sos-profile-restored .sos-vitals > h3,
.sos-profile-restored .sos-vitals .sos-card-title,
.sos-profile-restored .sos-mockprofile__vitals > h3,
.sos-profile-restored .sos-mockprofile__vitals .sos-card-title {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  height: var(--profile-vitals-title-h) !important;
  line-height: var(--profile-vitals-title-h) !important;
  text-align: center !important;
}

/* vitals list */
.sos-profile-restored .sos-vitals__list,
.sos-profile-restored .sos-mockprofile__vitals-list {
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: var(--profile-vital-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* each vital row = thinner and snug */
.sos-profile-restored .sos-vital,
.sos-profile-restored .sos-mockprofile__vital {
  width: 100% !important;
  height: var(--profile-vital-row-h) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: var(--profile-vital-label-w) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
}

/* vital label / value */
.sos-profile-restored .sos-vital__label,
.sos-profile-restored .sos-mockprofile__vital-label {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.sos-profile-restored .sos-vital__value,
.sos-profile-restored .sos-mockprofile__vital-value {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* remove extra bottom spacing before next section */
.sos-profile-restored .sos-mockprofile__toprow + .sos-mockprofile__stats,
.sos-profile-restored .sos-mockprofile__toprow + .sos-profile-section,
.sos-profile-restored .sos-mockprofile__toprow + .sos-card {
  margin-top: 0 !important;
}

/* =========================================================
   MEMBER PROFILE - TRUE TOP FIX
   Targets the actual current template:
   .sos-avatarwindow / .sos-mockprofile__avatarcol / .sos-vitals
========================================================= */

.sos-profile-restored {
  --sos-profile-top-avatar-w: 260px;
  --sos-profile-top-avatar-h: 500px;
  --sos-profile-top-gap: 18px;
  --sos-profile-pill-h: 40px;
  --sos-profile-pill-gap: 10px;
}

/* Remove the gallery box/panel entirely */
html body .sos-profile-restored .sos-mockprofile__hero,
html body .sos-profile-restored .sos-gallery-panels,
html body .sos-profile-restored .sos-gallery-stage,
html body .sos-profile-restored .sos-gallery-stage.is-active,
html body .sos-profile-restored .sos-gallery-stage[class*="sos-gallery-stage"] {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

html body .sos-profile-restored .sos-gallery-stage img,
html body .sos-profile-restored .sos-gallery-main {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Keep thumbnails neat */
html body .sos-profile-restored .sos-mockprofile__thumbs {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 8px 0 14px 0 !important;
  padding: 0 !important;
}

/* Entire top row: avatar + right side */
html body .sos-profile-restored .sos-mockprofile__toprow {
  display: grid !important;
  grid-template-columns: var(--sos-profile-top-avatar-w) minmax(0, 1fr) !important;
  gap: var(--sos-profile-top-gap) !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* Avatar column starts below the pills, but does not create bottom gap */
html body .sos-profile-restored .sos-mockprofile__avatarcol {
  width: var(--sos-profile-top-avatar-w) !important;
  min-width: var(--sos-profile-top-avatar-w) !important;
  height: var(--sos-profile-top-avatar-h) !important;
  margin: calc(var(--sos-profile-pill-h) + var(--sos-profile-pill-gap)) 0 0 0 !important;
  padding: 0 !important;
  align-self: start !important;
  box-sizing: border-box !important;
}

/* The actual avatar window */
html body .sos-profile-restored .sos-avatarwindow {
  width: var(--sos-profile-top-avatar-w) !important;
  height: var(--sos-profile-top-avatar-h) !important;
  margin: 0 !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Avatar image fills the window */
html body .sos-profile-restored .sos-avatarwindow img,
html body .sos-profile-restored .sos-avatarwindow .avatar img,
html body .sos-profile-restored .sos-avatarwindow .avatar-wrapper img,
html body .sos-profile-restored .sos-avatarwindow .avatar_size_default img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Right side: pills + vitals exactly as tall as avatar */
html body .sos-profile-restored .sos-mockprofile__rightcol {
  width: 100% !important;
  min-width: 0 !important;
  height: calc(var(--sos-profile-top-avatar-h) + var(--sos-profile-pill-h) + var(--sos-profile-pill-gap)) !important;
  display: grid !important;
  grid-template-rows: var(--sos-profile-pill-h) var(--sos-profile-top-avatar-h) !important;
  gap: var(--sos-profile-pill-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

/* Pills row */
html body .sos-profile-restored .sos-pillbar {
  width: 100% !important;
  height: var(--sos-profile-pill-h) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pill text: smaller, tighter, no ugly clipping */
html body .sos-profile-restored .sos-pill {
  min-width: 0 !important;
  height: var(--sos-profile-pill-h) !important;
  min-height: 0 !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body .sos-profile-restored .sos-pill__label,
html body .sos-profile-restored .sos-pill__value,
html body .sos-profile-restored .sos-pill span,
html body .sos-profile-restored .sos-pill strong,
html body .sos-profile-restored .sos-pill b {
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Vitals container fills the whole right-side space */
html body .sos-profile-restored .sos-vitals {
  width: 100% !important;
  height: var(--sos-profile-top-avatar-h) !important;
  min-height: 0 !important;
  max-height: var(--sos-profile-top-avatar-h) !important;
  margin: 0 !important;
  padding: 8px 16px 10px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-rows: 28px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

/* Vitals title */
html body .sos-profile-restored .sos-vitals .sos-section-title,
html body .sos-profile-restored .sos-vitals .sos-section-title--small {
  height: 28px !important;
  line-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.55rem !important;
}

/* Vitals rows: thin and snug */
html body .sos-profile-restored .sos-vitals__list {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body .sos-profile-restored .sos-vital {
  width: 100% !important;
  height: 25px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;

  border-radius: 999px !important;
}

/* Vitals text */
html body .sos-profile-restored .sos-vital__label,
html body .sos-profile-restored .sos-vital__value {
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}

/* Kill bottom gap before Stats */
html body .sos-profile-restored .sos-mockprofile__toprow + .sos-card,
html body .sos-profile-restored .sos-mockprofile__toprow + section.sos-card {
  margin-top: 0 !important;
}

/* Make sure Stats comes up tight under top row */
html body .sos-profile-restored .sos-mockprofile__toprow {
  margin-bottom: 10px !important;
}

/* ================================
   SOS EDIT / POSTING SCREEN FIX
   Makes edit/post form text readable
   ================================ */

form,
form table,
form td,
form th,
.trow1,
.trow2,
.posting,
.post_body,
textarea,
input,
select,
option {
  color: #BCBDBD !important;
}

/* Main text boxes / fields */
textarea,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
select {
  background: #071317 !important;
  color: #BCBDBD !important;
  border: 1px solid rgba(163, 124, 84, 0.45) !important;
}

/* Placeholder text */
input::placeholder,
textarea::placeholder {
  color: #7f8789 !important;
  opacity: 1 !important;
}

/* MyBB / SCEditor container */
.sceditor-container,
.sceditor-container iframe,
.sceditor-container textarea {
  background: #071317 !important;
  color: #BCBDBD !important;
  border-color: rgba(163, 124, 84, 0.45) !important;
}

/* Editor toolbar */
.sceditor-toolbar {
  background: #0b171b !important;
  border-color: rgba(163, 124, 84, 0.35) !important;
}

/* Dropdowns/popups inside editor */
.sceditor-dropdown,
.sceditor-dropdown div,
.sceditor-dropdown label {
  background: #071317 !important;
  color: #BCBDBD !important;
}

/* Helpful links/buttons around edit screen */
form a,
.trow1 a,
.trow2 a {
  color: #A37C54 !important;
}/* ================================
   SOS SCEDITOR SHELL FIX
   ================================ */

.sceditor-container,
.sceditor-container iframe,
.sceditor-container textarea {
  background: #050B0F !important;
  color: #BCBDBD !important;
  border-color: rgba(163, 124, 84, 0.45) !important;
}

.sceditor-container textarea {
  caret-color: #A37C54 !important;
}

.sceditor-toolbar {
  background: #071317 !important;
  border-color: rgba(163, 124, 84, 0.35) !important;
}

/* ================================
   SOS BOARD ACTIVITY COMPLETE LIST
   ================================ */

.sos-board-activity__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sos-board-activity__head strong {
  display: inline-block;
}

.sos-complete-list {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid rgba(163, 124, 84, 0.45);
  border-radius: 6px;
  background: rgba(7, 19, 23, 0.75);
  color: #BCBDBD !important;
  font-size: 11px;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-style: normal !important;
}

.sos-complete-list:hover {
  background: rgba(163, 124, 84, 0.15);
  color: #A37C54 !important;
  border-color: rgba(163, 124, 84, 0.75);
}

/* ================================
   SOS BOARD DESCRIPTION IMAGES
   ================================ */

.sos-forum-card {
  display: flex;
  align-items: stretch;
  gap: 14px;
  margin: 0 0 18px 0;
  padding: 14px;
  background: rgba(5, 11, 15, 0.78);
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 10px;
  box-shadow:
    inset 0 0 12px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(0, 0, 0, 0.35);
}

.sos-forum-card__status {
  flex: 0 0 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sos-forum-card__status .forum_status {
  color: #A37C54;
  font-size: 12px;
  opacity: 0.85;
  cursor: pointer;
}

.sos-forum-card__main {
  flex: 0 0 700px;
  width: 700px;
}

.sos-forum-card__heading {
  margin-bottom: 8px;
  padding: 8px 12px;
  background: rgba(7, 19, 23, 0.85);
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 7px;
  text-align: center;
}

.sos-forum-card__heading h3 {
  margin: 0;
  padding: 0;
  font: normal 23px "IM Fell English", serif;
  font-style: italic;
  letter-spacing: 0.03em;
}

.sos-forum-card__heading h3 a {
  color: #A37C54 !important;
  text-decoration: none !important;
}

.sos-forum-card__heading h3 a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.65);
}

.sos-forum-card__viewers {
  display: block;
  margin-top: 4px;
  color: #8f9699;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sos-forum-card__imagewrap {
  width: 700px;
  height: 200px;
}

.sos-board-image {
  position: relative;
  width: 700px;
  height: 200px;
  overflow: hidden;
  background: #071317 center center / cover no-repeat;
  border: 2px solid rgba(163, 124, 84, 0.65);
  border-radius: 8px;
  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.65),
    0 0 10px rgba(0, 0, 0, 0.45);
}

.sos-board-image.no-image {
  background: linear-gradient(rgba(7, 19, 23, 0.85), rgba(5, 11, 15, 0.95));
}

.sos-board-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 30px;
  background: linear-gradient(rgba(5, 11, 15, 0.74), rgba(5, 11, 15, 0.82));
  opacity: 0;
  transition: opacity 0.25s ease;
  box-sizing: border-box;
}

.sos-board-image:hover .sos-board-overlay {
  opacity: 1;
}

.sos-board-overlay__text {
  color: #BCBDBD;
  font: normal 14px "IM Fell English", serif;
  line-height: 1.6;
  text-align: justify;
  white-space: pre-line;
  text-shadow: 0 0 5px #000;
}

.sos-board-desc-source {
  display: none;
}

.sos-forum-card__subforums {
  margin-top: 8px;
  padding: 8px 10px;
  min-height: 20px;
  background: rgba(7, 19, 23, 0.55);
  border: 1px solid rgba(163, 124, 84, 0.25);
  border-radius: 7px;
  color: #8f9699;
  font-size: 12px;
  text-align: center;
}

.sos-forum-card__subforums a {
  display: inline-block;
  margin: 2px 5px;
  padding: 3px 8px;
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.22);
  color: #d7c3a4 !important;
  font-size: 11px;
  text-decoration: none !important;
}

.sos-forum-card__subforums a:hover {
  color: #A37C54 !important;
  background: rgba(163, 124, 84, 0.12);
}

.sos-forum-card__mods {
  margin-top: 6px;
  color: #8f9699;
  font-size: 11px;
  text-align: center;
}

.sos-forum-card__counts {
  flex: 0 0 105px;
  width: 105px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sos-forum-count {
  flex: 1;
  min-height: 82px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(7, 19, 23, 0.78);
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 8px;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.35);
}

.sos-forum-count span {
  display: block;
  color: #A37C54;
  font: normal 22px "IM Fell English", serif;
  line-height: 1;
}

.sos-forum-count small {
  display: block;
  margin-top: 7px;
  color: #8f9699;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.sos-forum-card__latest {
  flex: 0 0 245px;
  width: 245px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 19, 23, 0.78);
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 8px;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.35);
  color: #BCBDBD;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  box-sizing: border-box;
}

.sos-forum-card__latest a {
  color: #A37C54 !important;
  text-decoration: none !important;
}

.sos-forum-card__latest a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65);
}

/* ================================
   SOS BOARD CARD REARRANGE PATCH
   ================================ */

.sos-forum-card {
  max-width: 100%;
  box-sizing: border-box;
  gap: 12px;
  padding: 12px;
  overflow: hidden;
}

/* Main left column stays fixed */
.sos-forum-card__main {
  flex: 0 0 700px;
  width: 700px;
}

/* Title bar */
.sos-forum-card__heading {
  text-align: left !important;
  padding: 8px 12px !important;
}

.sos-forum-card__titleline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.sos-forum-card__title-left {
  flex: 1 1 auto;
  min-width: 0;
}

.sos-forum-card__title-left h3,
.sos-forum-card__heading h3 {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.1;
}

.sos-forum-card__title-left h3 a,
.sos-forum-card__heading h3 a {
  display: inline-block;
}

.sos-forum-card__viewers {
  display: block;
  margin-top: 3px;
  text-align: left;
}

/* Subboards moved into title bar */
.sos-forum-card__title-subforums {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5px;
  max-width: 360px;
  text-align: right;
}

/* kill the old margin wrapper from subforums template */
.sos-forum-card__title-subforums .mt-2 {
  margin-top: 0 !important;
}

/* subboard links */
.sos-forum-card__title-subforums a {
  display: inline-block;
  margin: 0 !important;
  padding: 4px 9px;
  border: 1px solid rgba(163, 124, 84, 0.45);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.22);
  color: #d7c3a4 !important;
  font-size: 11px;
  line-height: 1.1;
  text-decoration: none !important;
  white-space: nowrap;
}

.sos-forum-card__title-subforums a:hover {
  background: rgba(163, 124, 84, 0.13);
  color: #A37C54 !important;
}

.sos-forum-card__title-subforums i {
  margin-right: 3px;
  color: #A37C54;
  opacity: 0.8;
}

/* slightly narrower right columns so nothing spills */
.sos-forum-card__counts {
  flex: 0 0 90px;
  width: 90px;
}

.sos-forum-card__latest {
  flex: 0 0 190px;
  width: 210px;
  min-width: 210px;
  max-width: 210px;
  padding: 10px !important;
  overflow: hidden;
  word-break: break-word;
}

.sos-forum-card__latest p {
  margin: 0 !important;
}

.sos-forum-card__latest a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.sos-forum-card__latest span {
  max-width: 100%;
}

/* Force subboards into title bar row */
.sos-forum-card__titleline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.sos-forum-card__title-subforums,
.sos-forum-card__title-subforums .mt-2 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sos-forum-card__title-subforums {
  margin-left: auto !important;
  max-width: 380px !important;
}

.sos-forum-card__title-subforums br {
  display: none !important;
}

/* ================================
   SOS SUBFORUMS INLINE FIX
   keeps subboards in one row/wrapped row
   ================================ */

.sos-forum-card__title-subforums {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  max-width: 400px !important;
  margin-left: auto !important;
  text-align: right !important;
}

.sos-subforums-inline {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sos-subforums-inline br {
  display: none !important;
}

.sos-subforum-pill,
.sos-forum-card__title-subforums a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(163, 124, 84, 0.45) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.22) !important;
  color: #d7c3a4 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.sos-subforum-pill:hover,
.sos-forum-card__title-subforums a:hover {
  background: rgba(163, 124, 84, 0.13) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS SUBFORUMS FULL INLINE FIX
   shows all subboards in a row
   ================================ */

.sos-forum-card__heading {
  overflow: visible !important;
}

.sos-forum-card__title-subforums {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  max-width: 430px !important;
  margin-left: auto !important;
  overflow: visible !important;
}

.sos-subforums-inline {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.sos-subforum-item {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sos-subforum-comma {
  display: none !important;
}

.sos-subforum-pill,
.sos-forum-card__title-subforums a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(163, 124, 84, 0.45) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.22) !important;
  color: #d7c3a4 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.sos-subforum-pill:hover,
.sos-forum-card__title-subforums a:hover {
  background: rgba(163, 124, 84, 0.13) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS LAST POSTER AVATAR PLUGIN
   Last post avatar window
   ================================ */

/* Make the latest post box hold avatar + text side by side */
.sos-forum-card__latest {
  flex: 0 0 245px !important;
  width: 245px !important;
  min-width: 245px !important;
  max-width: 245px !important;

  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  padding: 10px !important;
  overflow: hidden !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}

/* Avatar slot */
.sos-forum-card__lastavatar,
.sos-forumcard__lastavatar {
  width: 100px !important;
  flex: 0 0 100px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Hide the slot cleanly if there is no avatar output */
.sos-forum-card__lastavatar:empty,
.sos-forumcard__lastavatar:empty {
  display: none !important;
}

/* The avatar link itself */
.sos-forum-card__lastavatar .sos-lastavatar,
.sos-forumcard__lastavatar .sos-lastavatar {
  display: block !important;
  width: 100px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;

  background: #050B0F !important;
  border: 1px solid rgba(163, 124, 84, 0.65) !important;
  border-radius: 100px 100px 0 0 !important;

  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.65),
    0 0 8px rgba(0, 0, 0, 0.45) !important;

  text-decoration: none !important;
}

/* The avatar image */
.sos-forum-card__lastavatar .sos-lastavatar img,
.sos-forumcard__lastavatar .sos-lastavatar img {
  display: block !important;
  width: 100px !important;
  height: auto !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

/* Hover polish */
.sos-forum-card__lastavatar .sos-lastavatar:hover,
.sos-forumcard__lastavatar .sos-lastavatar:hover {
  border-color: rgba(215, 195, 164, 0.85) !important;
  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.65),
    0 0 10px rgba(163, 124, 84, 0.35) !important;
}

/* Last post text beside avatar */
.sos-forum-card__lasttext {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 125px !important;

  color: #BCBDBD !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

/* Tidy MyBB last post markup */
.sos-forum-card__lasttext p {
  margin: 0 !important;
}

.sos-forum-card__lasttext a {
  color: #A37C54 !important;
  text-decoration: none !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.sos-forum-card__lasttext a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65) !important;
}

.sos-forum-card__lasttext .smalltext,
.sos-forum-card__lasttext span,
.sos-forum-card__lasttext div {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* ================================
   SOS LAST POSTER AVATAR PLUGIN
   vertical last post layout
   ================================ */

/* Latest post box: avatar on top, text underneath */
.sos-forum-card__latest {
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
  max-width: 190px !important;

  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  padding: 14px 10px !important;
  overflow: hidden !important;
  text-align: center !important;
}

/* Avatar slot */
.sos-forum-card__lastavatar,
.sos-forumcard__lastavatar {
  width: 100px !important;
  height: 160px !important; /* 250x400 ratio scaled down */
  flex: 0 0 160px !important;

  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Hide cleanly if no avatar output */
.sos-forum-card__lastavatar:empty,
.sos-forumcard__lastavatar:empty {
  display: none !important;
}

/* Avatar link/window */
.sos-forum-card__lastavatar .sos-lastavatar,
.sos-forumcard__lastavatar .sos-lastavatar {
  display: block !important;
  width: 100px !important;
  height: 160px !important; /* 250x400 ratio scaled down */
  overflow: hidden !important;
  box-sizing: border-box !important;

  background: #050B0F !important;
  border: 1px solid rgba(163, 124, 84, 0.65) !important;
  border-radius: 100px 100px 0 0 !important;

  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.65),
    0 0 8px rgba(0, 0, 0, 0.45) !important;

  text-decoration: none !important;
}

/* Avatar image fills the window */
.sos-forum-card__lastavatar .sos-lastavatar img,
.sos-forumcard__lastavatar .sos-lastavatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* Hover polish */
.sos-forum-card__lastavatar .sos-lastavatar:hover,
.sos-forumcard__lastavatar .sos-lastavatar:hover {
  border-color: rgba(215, 195, 164, 0.85) !important;
  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.65),
    0 0 10px rgba(163, 124, 84, 0.35) !important;
}

/* Last post text underneath avatar */
.sos-forum-card__lasttext {
  width: 100% !important;
  max-width: 150px !important;
  flex: 0 0 auto !important;

  color: #BCBDBD !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

/* Tidy MyBB last post markup */
.sos-forum-card__lasttext p {
  margin: 0 !important;
}

.sos-forum-card__lasttext a {
  color: #A37C54 !important;
  text-decoration: none !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.sos-forum-card__lasttext a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65) !important;
}

.sos-forum-card__lasttext .smalltext,
.sos-forum-card__lasttext span,
.sos-forum-card__lasttext div {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* ================================
   SOS LAST POST TEXT READABILITY
   ================================ */

.sos-forum-card__lasttext {
  width: 100% !important;
  max-width: 150px !important;
  box-sizing: border-box !important;

  padding: 8px 7px !important;
  background: rgba(5, 11, 15, 0.72) !important;
  border: 1px solid rgba(163, 124, 84, 0.32) !important;
  border-radius: 7px !important;

  color: #BCBDBD !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-shadow: 0 0 4px #000 !important;
  overflow-wrap: anywhere !important;
}

/* Force MyBB's nested last-post bits to stop being sneaky-dark */
.sos-forum-card__lasttext *,
.sos-forum-card__lasttext .smalltext,
.sos-forum-card__lasttext span,
.sos-forum-card__lasttext div,
.sos-forum-card__lasttext p,
.sos-forum-card__lasttext abbr,
.sos-forum-card__lasttext abbr.time {
  color: #BCBDBD !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Thread title / last post link */
.sos-forum-card__lasttext a {
  color: #A37C54 !important;
  font-size: 12px !important;
  text-decoration: none !important;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.9) !important;
}

.sos-forum-card__lasttext a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.75) !important;
}

/* Timestamp */
.sos-forum-card__lasttext abbr.time,
.sos-forum-card__lasttext .time,
.sos-forum-card__lasttext .smalltext {
  display: inline-block !important;
  margin-top: 2px !important;
  color: #8f9699 !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* "Never" / empty-board style */
.sos-forum-card__lasttext:only-child,
.sos-forum-card__lasttext {
  min-height: 20px !important;
}

/* This makes plain text like Never look intentional */
.sos-forum-card__lasttext:not(:has(a)) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #A37C54 !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-style: italic !important;
}

/* ================================
   SOS LAST POST POLISH PATCH
   wider text + prettier Never
   ================================ */

/* Give the latest-post column more breathing room */
.sos-forum-card__latest {
  flex: 0 0 225px !important;
  width: 225px !important;
  min-width: 225px !important;
  max-width: 225px !important;

  min-height: 280px !important;
  padding: 14px 12px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* Give the last-post text more horizontal space */
.sos-forum-card__lasttext {
  width: 180px !important;
  max-width: 180px !important;
  padding: 9px 10px !important;

  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

/* Real last-post text should not be too dim */
.sos-forum-card__lasttext,
.sos-forum-card__lasttext *,
.sos-forum-card__lasttext p,
.sos-forum-card__lasttext div,
.sos-forum-card__lasttext span {
  color: #BCBDBD !important;
}

/* Thread title / user links */
.sos-forum-card__lasttext a {
  color: #A37C54 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.sos-forum-card__lasttext a:hover {
  color: #d7c3a4 !important;
}

/* Hide the random user/person icon in the last-post box */
.sos-forum-card__lasttext i,
.sos-forum-card__lasttext svg,
.sos-forum-card__lasttext .fa,
.sos-forum-card__lasttext .fas,
.sos-forum-card__lasttext .far,
.sos-forum-card__lasttext .bi {
  display: none !important;
}

/* When there is no avatar output, center the Never plaque vertically */
.sos-forum-card__latest:not(:has(.sos-lastavatar)) {
  justify-content: center !important;
}

/* Pretty empty-board / Never state */
.sos-forum-card__latest:not(:has(.sos-lastavatar)) .sos-forum-card__lasttext {
  width: 150px !important;
  max-width: 150px !important;
  min-height: 46px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 6px 10px !important;
  color: #A37C54 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-style: italic !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Force Never itself not to split */
.sos-forum-card__latest:not(:has(.sos-lastavatar)) .sos-forum-card__lasttext,
.sos-forum-card__latest:not(:has(.sos-lastavatar)) .sos-forum-card__lasttext * {
  color: #A37C54 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* ================================
   SOS LAST POST FINAL POSITION PATCH
   right margin + centered Never
   ================================ */

/* Pull the latest-post column inward so it is not kissing the right edge */
.sos-forum-card__latest {
  flex: 0 0 210px !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;

  margin-right: 10px !important;
  box-sizing: border-box !important;
}

/* Keep real last-post text from getting too cramped after narrowing */
.sos-forum-card__lasttext {
  width: 170px !important;
  max-width: 170px !important;
}

/* Empty-board state: center the Never box higher in the panel */
.sos-forum-card__latest:not(:has(.sos-lastavatar)) {
  justify-content: center !important;
  align-items: center !important;
}

/* Move the Never plaque up into the visual center */
.sos-forum-card__latest:not(:has(.sos-lastavatar)) .sos-forum-card__lasttext {
  transform: translateY(-38px) !important;

  width: 150px !important;
  max-width: 150px !important;
  min-height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 5px 10px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

/* ================================
   SOS THREAD LIST CHECKBOX POLISH
   ================================ */

/* Narrow the checkbox column so it stops becoming a weird empty hallway */
.threads .checkbox,
.threadlist .checkbox,
table.list td.checkbox,
table.list th.checkbox,
td.checkbox,
th.checkbox {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  padding: 0 10px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* Center the actual checkbox */
.threads .checkbox input[type="checkbox"],
.threadlist .checkbox input[type="checkbox"],
table.list td.checkbox input[type="checkbox"],
td.checkbox input[type="checkbox"],
input[type="checkbox"].checkbox,
.form-check-input {
  width: 15px !important;
  height: 15px !important;
  margin: 0 auto !important;
  display: inline-block !important;
  vertical-align: middle !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  background: rgba(5, 11, 15, 0.9) !important;
  border: 1px solid rgba(163, 124, 84, 0.75) !important;
  border-radius: 4px !important;
  box-shadow:
    inset 0 0 5px rgba(0, 0, 0, 0.65),
    0 0 4px rgba(0, 0, 0, 0.45) !important;

  cursor: pointer !important;
}

/* Checked state */
.threads .checkbox input[type="checkbox"]:checked,
.threadlist .checkbox input[type="checkbox"]:checked,
table.list td.checkbox input[type="checkbox"]:checked,
td.checkbox input[type="checkbox"]:checked,
input[type="checkbox"].checkbox:checked,
.form-check-input:checked {
  background:
    radial-gradient(circle at center, #A37C54 0 38%, transparent 42%),
    rgba(5, 11, 15, 0.95) !important;
  border-color: rgba(215, 195, 164, 0.9) !important;
}

/* Hover/focus */
.threads .checkbox input[type="checkbox"]:hover,
.threadlist .checkbox input[type="checkbox"]:hover,
table.list td.checkbox input[type="checkbox"]:hover,
td.checkbox input[type="checkbox"]:hover,
.form-check-input:hover {
  border-color: #d7c3a4 !important;
  box-shadow:
    inset 0 0 5px rgba(0, 0, 0, 0.65),
    0 0 7px rgba(163, 124, 84, 0.45) !important;
}

.threads .checkbox input[type="checkbox"]:focus,
.threadlist .checkbox input[type="checkbox"]:focus,
table.list td.checkbox input[type="checkbox"]:focus,
td.checkbox input[type="checkbox"]:focus,
.form-check-input:focus {
  outline: none !important;
  box-shadow:
    inset 0 0 5px rgba(0, 0, 0, 0.65),
    0 0 0 2px rgba(163, 124, 84, 0.35) !important;
}


/* THREAD PREFIX COLOR ONLY */

h6.text-forum.sos-thread-titleline .sos-prefix-color,
.text-forum .sos-prefix-color,
.sos-thread-titleline .sos-prefix-color {
  color: inherit !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin-right: 5px !important;
  box-shadow: none !important;
}


.sos-prefix {
  display: inline-block;
  margin-right: 0px;
  padding: 2px 3px;
  border: 1px solid currentColor;
  background: rgba(7, 19, 23, 0.85);
  color: var(--prefix-color, #d7c3a4);
  text-shadow: 0 0 5px currentColor;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 3px;
opacity: 0.65;
}

.sos-prefix-loom {
  display: inline-block;
  margin-right: 0px;
  padding: 2px 3px;
  border: 1px solid currentColor;
  background: rgba(7, 19, 23, 0.85);
  color: var(--prefix-color, #d7c3a4);
  text-shadow: 0 0 5px currentColor;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 3px;
box-shadow: 0px 0px 5px #ffffff;
opacity: 0.65;
}


.sos-latestposts__prefix .sos-prefix {
  font-size: 11px;
}

.sos-latestposts__prefix {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 3px;
  font-size: inherit;
}

.sos-latestposts__prefix .sos-prefix {
  margin-right: 0;
}

/* ================================
   SOS POSTING PAGE COLLAPSE FIX
   ================================ */

.collapse {
  display: none;
}

.collapse.show {
  display: block;
}

/* ================================
   SOS THREAD PAGE DESCRIPTION
   replaces Thread # line
   ================================ */

.sos-thread-page-description {
  display: inline-block !important;
  max-width: 760px !important;

  color: #BCBDBD !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-style: italic !important;
  text-shadow: 0 0 5px #000 !important;
}

.sos-thread-page-description:empty {
  display: none !important;
}
/* ================================
   SOS THREAD LIST DESCRIPTIONS
   ================================ */

.sos-thread-description {
  display: block !important;
  margin-top: 3px !important;

  color: #8f9699 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-style: italic !important;
  letter-spacing: 0.04em !important;
  text-shadow: 0 0 4px #000 !important;
}

/* ================================
   SOS LATEST POSTS
   under forums, above board activity
   ================================ */

.sos-latestposts-shell {
  margin: 18px 0 18px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Outer container */
.sos-latestposts {
  width: 100% !important;
  box-sizing: border-box !important;

  background: rgba(5, 11, 15, 0.78) !important;
  border: 1px solid rgba(163, 124, 84, 0.35) !important;
  border-radius: 10px !important;

  box-shadow:
    inset 0 0 12px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(0, 0, 0, 0.35) !important;

  overflow: hidden !important;
}

/* Header bar */
.sos-latestposts__bar {
  min-height: 42px !important;
  padding: 10px 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background:
    linear-gradient(rgba(7, 19, 23, 0.92), rgba(5, 11, 15, 0.92)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;

  color: #A37C54 !important;
  text-align: center !important;
}

.sos-latestposts__bar strong {
  color: #A37C54 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 24px !important;
  font-style: italic !important;
  font-weight: normal !important;
  letter-spacing: 0.05em !important;
  text-shadow: 0 0 6px #000 !important;
}

/* Body */
.sos-latestposts__body {
  padding: 12px !important;
  background: rgba(7, 19, 23, 0.55) !important;
}

/* List layout */
.sos-latestposts__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

/* Each recent post row */
.sos-latestposts__item {
  min-height: 38px !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  align-items: center !important;
  gap: 14px !important;

  padding: 8px 12px !important;

  background: rgba(5, 11, 15, 0.58) !important;
  border: 1px solid rgba(163, 124, 84, 0.24) !important;
  border-radius: 7px !important;

  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.32) !important;
}

.sos-latestposts__item:hover {
  background: rgba(10, 24, 29, 0.78) !important;
  border-color: rgba(163, 124, 84, 0.48) !important;
}

/* Thread title */
.sos-latestposts__thread {
  min-width: 0 !important;
  overflow: hidden !important;
}

.sos-latestposts__thread a {
  display: block !important;
  max-width: 100% !important;

  color: #d7c3a4 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-style: normal !important;
  text-decoration: none !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;

  text-shadow: 0 0 4px #000 !important;
}

.sos-latestposts__thread a:hover {
  color: #A37C54 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.75) !important;
}

/* Meta column */
.sos-latestposts__meta {
  min-width: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;

  color: #8f9699 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  text-align: right !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

/* "By" label */
.sos-latestposts__meta > span:first-child {
  color: #6f797d !important;
  font-size: 9px !important;
}

/* Author link */
.sos-latestposts__meta a {
  color: #BCBDBD !important;
  text-decoration: none !important;
  font-style: normal !important;
  max-width: 110px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Override inline usergroup colors inside the plugin output */
.sos-latestposts__meta a span,
.sos-latestposts__meta a strong,
.sos-latestposts__meta a em {
  color: #BCBDBD !important;
  text-shadow: 0 0 4px #000 !important;
  font-style: normal !important;
  font-weight: normal !important;
}

.sos-latestposts__meta a:hover,
.sos-latestposts__meta a:hover span,
.sos-latestposts__meta a:hover strong,
.sos-latestposts__meta a:hover em {
  color: #d7c3a4 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65) !important;
}

/* Time badge */
.sos-latestposts__time {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 3px 7px !important;
  border: 1px solid rgba(163, 124, 84, 0.34) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.24) !important;

  color: #A37C54 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

.sos-latestposts__time span {
  color: #A37C54 !important;
}

/* ================================
   SOS LATEST POSTS ORDER PATCH
   thread title | timestamp | poster
   ================================ */

.sos-latestposts__item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 18px !important;
}

/* Thread title stays left */
.sos-latestposts__thread {
  grid-column: 1 !important;
}

/* Meta becomes timestamp first, poster second */
.sos-latestposts__meta {
  grid-column: 2 / 4 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;

  text-align: right !important;
}

/* Timestamp moves to the middle */
.sos-latestposts__time {
  order: 1 !important;
	margin-left: -100px !important;
}

/* "By" label and poster move after timestamp */
.sos-latestposts__meta > span:first-child {
  order: 2 !important;
}

.sos-latestposts__meta > a {
  order: 3 !important;
}

/* Optional: give the poster section a little breathing room */
.sos-latestposts__meta > a {
  max-width: 160px !important;
}

/* ================================
   SOS LATEST POSTS TRUE CENTER TIME
   thread title | timestamp | poster
   ================================ */

.sos-latestposts__item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px 220px !important;
  align-items: center !important;
  gap: 14px !important;
}

/* Let the meta children act like grid items */
.sos-latestposts__meta {
  display: contents !important;
}

/* Thread title: left */
.sos-latestposts__thread {
  grid-column: 1 !important;
}

/* Timestamp: center column */
.sos-latestposts__time {
  grid-column: 2 !important;
  justify-self: center !important;
  order: unset !important;
}

/* "By" label: right column, before poster */
.sos-latestposts__meta > span:first-child {
  grid-column: 3 !important;
  justify-self: start !important;
  order: unset !important;
  margin-left: 0 !important;
}

/* Poster: right column, tucked after By */
.sos-latestposts__meta > a {
  grid-column: 3 !important;
  justify-self: end !important;
  order: unset !important;
  max-width: 160px !important;
}

/* ================================
   SOS LATEST POSTS COMPACT CENTER TIME FIX
   ================================ */

/* Restore compact row height */
.sos-latestposts__item {
  max-height: 20px !important;
  height: auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 720px !important;
  align-items: center !important;
  gap: 16px !important;

  padding: 8px 12px !important;
}

/* Thread title stays left */
.sos-latestposts__thread {
  grid-column: 1 !important;
  min-width: 0 !important;
}

/* Meta area becomes its own compact mini-grid */
.sos-latestposts__meta {
  grid-column: 2 !important;

  display: grid !important;
  grid-template-columns: 230px 24px 170px !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 8px !important;

  white-space: nowrap !important;
  min-width: 0 !important;
}

/* Timestamp sits in the middle column area */
.sos-latestposts__time {
  grid-column: 1 !important;
  justify-self: center !important;
  order: unset !important;
}

/* By label */
.sos-latestposts__meta > span:first-child {
  grid-column: 2 !important;
  justify-self: end !important;
  order: unset !important;
  margin: 0 !important;
}

/* Poster */
.sos-latestposts__meta > a {
  grid-column: 3 !important;
  justify-self: start !important;
  order: unset !important;
  max-width: 170px !important;
}

/* Make sure nothing inside forces height */
.sos-latestposts__meta *,
.sos-latestposts__thread * {
  line-height: 1.2 !important;
}

/* ================================
   SOS LATEST POSTS COMPACT ROW FIX
   keeps rows short without spill
   ================================ */

/* Use a real fixed row height instead of max-height */
.sos-latestposts__item {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;

  padding: 3px 10px !important;
  overflow: hidden !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 520px !important;
  align-items: center !important;
  gap: 14px !important;
}

/* Thread title: no vertical escaping */
.sos-latestposts__thread {
  min-width: 0 !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

.sos-latestposts__thread a {
  display: block !important;
  line-height: 16px !important;
  max-height: 16px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Meta area: timestamp centered, poster right */
.sos-latestposts__meta {
  display: grid !important;
  grid-template-columns: 230px 24px 170px !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 8px !important;

  height: 20px !important;
  max-height: 20px !important;
  overflow: hidden !important;

  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Timestamp badge */
.sos-latestposts__time {
  grid-column: 1 !important;
  justify-self: center !important;

  height: 16px !important;
  max-height: 16px !important;
  padding: 0 7px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  line-height: 16px !important;
  font-size: 9px !important;
  overflow: hidden !important;
}

/* By label */
.sos-latestposts__meta > span:first-child {
  grid-column: 2 !important;
  justify-self: end !important;

  height: 14px !important;
  line-height: 14px !important;
  overflow: hidden !important;
}

/* Poster */
.sos-latestposts__meta > a {
  grid-column: 3 !important;
  justify-self: start !important;

  height: 16px !important;
  max-height: 16px !important;
  line-height: 16px !important;
  max-width: 170px !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Stop nested spans/em/strong from stretching the row */
.sos-latestposts__meta *,
.sos-latestposts__thread * {
  line-height: inherit !important;
}

/* ================================
   SOS LATEST POSTS FINAL COMPACT GRID
   thread title | timestamp | by | poster
   ================================ */

.sos-latestposts__item {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;

  padding: 3px 10px !important;
  overflow: hidden !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 170px 24px 170px !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Let By / Poster / Time become part of the row grid */
.sos-latestposts__meta {
  display: contents !important;
}

/* Thread title */
.sos-latestposts__thread {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.sos-latestposts__thread a {
  display: block !important;
  height: 18px !important;
  line-height: 18px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Timestamp, now safely visible */
.sos-latestposts__time {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 16px !important;
  max-height: 16px !important;
  padding: 0 8px !important;

  border: 1px solid rgba(163, 124, 84, 0.34) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.24) !important;

  color: #A37C54 !important;
  font-size: 9px !important;
  line-height: 16px !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.sos-latestposts__time span {
  color: #A37C54 !important;
  line-height: 16px !important;
  white-space: nowrap !important;
}

/* By */
.sos-latestposts__meta > span:first-child {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;

  height: 16px !important;
  line-height: 16px !important;
  color: #6f797d !important;
  font-size: 9px !important;
  overflow: hidden !important;
}

/* Poster */
.sos-latestposts__meta > a {
  grid-column: 4 !important;
  grid-row: 1 !important;
  justify-self: start !important;

  height: 16px !important;
  line-height: 16px !important;
  max-width: 170px !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ================================
   SOS BOARD ACTIVITY / STATS
   ================================ */

.sos-board-activity {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 18px 0 0 0 !important;

  background: rgba(5, 11, 15, 0.78) !important;
  border: 1px solid rgba(163, 124, 84, 0.35) !important;
  border-radius: 10px !important;

  box-shadow:
    inset 0 0 12px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(0, 0, 0, 0.35) !important;

  overflow: hidden !important;
}

/* Header bar */
.sos-board-activity__head {
  min-height: 42px !important;
  padding: 8px 12px 8px 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  background:
    linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;
}

.sos-board-activity__head strong {
  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 23px !important;
  font-style: normal !important;
  font-weight: normal !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Complete List button */
.sos-complete-list {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 26px !important;
  padding: 5px 12px !important;

  background: rgba(5, 11, 15, 0.78) !important;
  border: 1px solid rgba(163, 124, 84, 0.55) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-style: normal !important;
  text-shadow: 0 0 4px #000 !important;
}

.sos-complete-list:hover {
  color: #A37C54 !important;
  border-color: rgba(215, 195, 164, 0.75) !important;
  background: rgba(163, 124, 84, 0.12) !important;
}

/* Body */
.sos-board-activity__body {
  padding: 20px 26px 26px !important;

  background: rgba(7, 19, 23, 0.52) !important;

  color: #BCBDBD !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.04em !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Online user list */
.sos-board-activity__body .mt-2 {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}

.sos-board-activity__body .mt-2 a {
  display: inline-block !important;
  color: #d7c3a4 !important;
  font-size: 17px !important;
  text-decoration: none !important;
  font-style: italic !important;
  text-shadow: 0 0 5px #000 !important;
}

.sos-board-activity__body .mt-2 a:hover {
  color: #A37C54 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.7) !important;
}

/* Kill the Bootstrap-card look inside Board Statistics */
.sos-board-activity .card {
  margin-top: 8px !important;
  padding: 0 !important;

  background: rgba(5, 11, 15, 0.52) !important;
  border: 1px solid rgba(163, 124, 84, 0.28) !important;
  border-radius: 8px !important;

  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.35),
    0 0 8px rgba(0, 0, 0, 0.24) !important;

  overflow: hidden !important;
}

/* Inner rows */
.sos-board-activity .card .row {
  margin: 0 !important;
  padding: 12px 18px !important;
}

/* Icon column */
.sos-board-activity .card .col-auto {
  width: 42px !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.sos-board-activity .card i {
  color: #A37C54 !important;
  opacity: 0.65 !important;
  font-size: 17px !important;
}

/* Board Statistics title strip */
.sos-board-activity .card h6 {
  margin: 0 !important;
  padding: 0 0 8px 0 !important;

  border-bottom: 1px solid rgba(188, 189, 189, 0.55) !important;
}

.sos-board-activity .card h6 a {
  color: #A37C54 !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: normal !important;
  text-decoration: none !important;
  letter-spacing: 0.05em !important;
  text-shadow: 0 0 4px #000 !important;
}

.sos-board-activity .card h6 a:hover {
  color: #d7c3a4 !important;
}

/* Stats text */
.sos-board-activity .card p {
  margin: 0 0 4px 0 !important;

  color: #BCBDBD !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
  text-shadow: 0 0 4px #000 !important;
}

.sos-board-activity .card p:last-child {
  margin-bottom: 0 !important;
}

/* Newest member link */
.sos-board-activity .card p a,
.sos-board-activity .card b a {
  color: #A37C54 !important;
  text-decoration: none !important;
  font-style: normal !important;
  font-weight: bold !important;
}

.sos-board-activity .card p a:hover,
.sos-board-activity .card b a:hover {
  color: #d7c3a4 !important;
}

/* ================================
   SOS LATEST POSTS PREFIX
   ================================ */

.sos-latestposts__prefix {
  display: inline-block !important;
  margin-right: 5px !important;
  vertical-align: baseline !important;
}

/* If using the simple colored prefix style */
.sos-latestposts__prefix .sos-prefix-color {
  color: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
}

/* Keep prefix + title on one clean line */
.sos-latestposts__thread {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.sos-latestposts__thread a {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ================================
   SOS BOARD IMAGE DESCRIPTION SCROLL
   lets long hover descriptions scroll
   ================================ */

.sos-board-overlay {
  overflow: hidden !important;
}

/* The actual description text becomes the scroll box */
.sos-board-overlay__text {
  max-height: 150px !important;
  width: 100% !important;
  box-sizing: border-box !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  padding-right: 10px !important;
}

/* Pretty tiny scrollbar for long board descriptions */
.sos-board-overlay__text::-webkit-scrollbar {
  width: 4px;
}

.sos-board-overlay__text::-webkit-scrollbar-track {
  background: rgba(5, 11, 15, 0.65);
}

.sos-board-overlay__text::-webkit-scrollbar-thumb {
  background: rgba(163, 124, 84, 0.75);
  border-radius: 999px;
}

.sos-board-overlay__text::-webkit-scrollbar-thumb:hover {
  background: rgba(215, 195, 164, 0.9);
}

/* ================================
   SOS BOARD ACTIVITY LEDGER REBUILD
   ================================ */

.sos-board-activity {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 18px 0 0 0 !important;

  background: rgba(5, 11, 15, 0.78) !important;
  border: 1px solid rgba(163, 124, 84, 0.35) !important;
  border-radius: 10px !important;

  box-shadow:
    inset 0 0 12px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(0, 0, 0, 0.35) !important;

  overflow: hidden !important;
}

.sos-board-activity__head {
  min-height: 42px !important;
  padding: 8px 12px 8px 18px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;
}

.sos-board-activity__head strong {
  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 23px !important;
  font-weight: normal !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

.sos-board-activity__body {
  padding: 18px 24px 24px !important;
  background: rgba(7, 19, 23, 0.52) !important;

  display: grid !important;
  gap: 14px !important;

  color: #BCBDBD !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Shared small label */
.sos-activity-kicker {
  color: #A37C54 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 15px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Currently online block */
.sos-activity-online {
  padding: 14px 16px !important;

  background: rgba(5, 11, 15, 0.46) !important;
  border: 1px solid rgba(163, 124, 84, 0.26) !important;
  border-radius: 8px !important;

  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.32) !important;
}

.sos-activity-online__note {
  margin-top: 8px !important;
  color: #BCBDBD !important;
  font-size: 15px !important;
}

.sos-activity-online__members {
  margin-top: 8px !important;
  color: #d7c3a4 !important;
  font-size: 16px !important;
  font-style: italic !important;
}

.sos-activity-online__members a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

.sos-activity-online__members a:hover {
  color: #A37C54 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.75) !important;
}

/* Keep usergroup styling readable but not explosively bright */
.sos-activity-online__members a span,
.sos-activity-online__members a strong,
.sos-activity-online__members a em {
  text-shadow: 0 0 5px #000 !important;
}

/* Future 24-hour online slot.
   Hidden for now. When we add the plugin later, this already has a home. */
.sos-activity-24h-slot {
  display: none !important;
}

/* Site ledger wrapper */
.sos-activity-ledger {
  padding: 16px !important;

  background: rgba(5, 11, 15, 0.52) !important;
  border: 1px solid rgba(163, 124, 84, 0.28) !important;
  border-radius: 8px !important;

  box-shadow:
    inset 0 0 10px rgba(0, 0, 0, 0.35),
    0 0 8px rgba(0, 0, 0, 0.24) !important;
}

.sos-activity-ledger__head {
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;

  border-bottom: 1px solid rgba(188, 189, 189, 0.42) !important;

  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.sos-activity-ledger__head h3 {
  margin: 3px 0 0 0 !important;
  padding: 0 !important;

  font-family: "IM Fell English", serif !important;
  font-size: 21px !important;
  font-weight: normal !important;
  letter-spacing: 0.04em !important;
}

.sos-activity-ledger__head h3 a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

.sos-activity-ledger__head h3 a:hover {
  color: #A37C54 !important;
  text-shadow: 0 0 6px rgba(163, 124, 84, 0.75) !important;
}

/* Stat cards */
.sos-activity-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}

.sos-activity-stat {
  min-height: 58px !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 10px 12px !important;

  background: rgba(7, 19, 23, 0.74) !important;
  border: 1px solid rgba(163, 124, 84, 0.28) !important;
  border-radius: 7px !important;

  color: #BCBDBD !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-shadow: 0 0 4px #000 !important;

  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.32) !important;
}

.sos-activity-stat--wide {
  grid-column: 1 / 4 !important;
  min-height: 44px !important;
}

/* Links inside stats */
.sos-activity-stat a,
.sos-activity-stat b a {
  color: #A37C54 !important;
  text-decoration: none !important;
  font-weight: bold !important;
}

.sos-activity-stat a:hover,
.sos-activity-stat b a:hover {
  color: #d7c3a4 !important;
}

/* Remove paragraph spacing if MyBB language vars bring wrappers later */
.sos-activity-stat p {
  margin: 0 !important;
}

/* ================================
   SOS BOARD ACTIVITY LEDGER HEADER TIGHTEN
   ================================ */

.sos-activity-ledger__head {
  min-height: 0 !important;
  padding: 0 0 9px 0 !important;
  margin-bottom: 14px !important;

  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;

  border-bottom: 1px solid rgba(188, 189, 189, 0.42) !important;
}

.sos-activity-ledger__head > div {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 12px !important;

  width: 100% !important;
}

.sos-activity-ledger__head .sos-activity-kicker {
  font-size: 15px !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.sos-activity-ledger__head h3 {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 21px !important;
  line-height: 1 !important;
}

.sos-activity-ledger__head h3::before {
  content: "•";
  display: inline-block;
  margin-right: 12px;
  color: rgba(163, 124, 84, 0.75);
  font-size: 13px;
  vertical-align: middle;
}

/* ================================
   SOS LOGIN PAGE
   ================================ */

/* Login page form only, not the quick-login modal */
.container-md > form[action="member.php"] {
  max-width: 720px !important;
  margin: 28px auto 60px auto !important;
}

/* Main login card */
.container-md > form[action="member.php"] > .card {
  position: relative !important;
  overflow: hidden !important;

  background: rgba(5, 11, 15, 0.82) !important;
  border: 1px solid rgba(163, 124, 84, 0.38) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(0, 0, 0, 0.42) !important;
}

/* Add a proper title without editing the template */
.container-md > form[action="member.php"] > .card::before {
  content: "Login";
  display: block !important;

  padding: 14px 18px 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Body spacing */
.container-md > form[action="member.php"] .card-body {
  padding: 22px 26px 18px !important;
  background: rgba(7, 19, 23, 0.42) !important;
}

/* Field rows */
.container-md > form[action="member.php"] .card-body > div {
  border-bottom: 1px solid rgba(163, 124, 84, 0.28) !important;
  padding: 0 0 16px 0 !important;
  margin-bottom: 16px !important;
}

.container-md > form[action="member.php"] .card-body > div:last-child {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Labels */
.container-md > form[action="member.php"] label,
.container-md > form[action="member.php"] .form-label {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 15px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Lost password link */
.container-md > form[action="member.php"] a {
  color: #A37C54 !important;
  text-decoration: none !important;
}

.container-md > form[action="member.php"] a:hover {
  color: #d7c3a4 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65) !important;
}

/* Inputs */
.container-md > form[action="member.php"] input[type="text"],
.container-md > form[action="member.php"] input[type="password"] {
  width: 100% !important;
  height: 38px !important;

  background: rgba(5, 11, 15, 0.92) !important;
  border: 1px solid rgba(163, 124, 84, 0.5) !important;
  border-radius: 7px !important;

  color: #BCBDBD !important;
  font-size: 15px !important;
  line-height: 38px !important;
  padding: 6px 10px !important;

  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.55) !important;
}

.container-md > form[action="member.php"] input[type="text"]:focus,
.container-md > form[action="member.php"] input[type="password"]:focus {
  outline: none !important;
  border-color: rgba(215, 195, 164, 0.85) !important;
  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.55),
    0 0 0 2px rgba(163, 124, 84, 0.22) !important;
}

/* Remember me row */
.container-md > form[action="member.php"] .form-check {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding-top: 2px !important;
}

/* Checkbox */
.container-md > form[action="member.php"] .form-check-input {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
}

/* Footer/button area */
.container-md > form[action="member.php"] .card-footer {
  padding: 14px 18px 18px !important;

  background: rgba(5, 11, 15, 0.54) !important;
  border-top: 1px solid rgba(163, 124, 84, 0.26) !important;
  text-align: center !important;
}

/* Login button */
.container-md > form[action="member.php"] button[type="submit"] {
  min-width: 130px !important;
  min-height: 34px !important;

  background: rgba(5, 11, 15, 0.85) !important;
  border: 1px solid rgba(163, 124, 84, 0.65) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 14px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 4px #000 !important;

  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.45),
    0 0 8px rgba(0, 0, 0, 0.32) !important;
}

.container-md > form[action="member.php"] button[type="submit"]:hover {
  background: rgba(163, 124, 84, 0.14) !important;
  border-color: rgba(215, 195, 164, 0.82) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS LOGIN PAGE POSITION PATCH
   ================================ */

.container-md > form[action="member.php"] {
  margin-top: -122px !important;
  margin-bottom: 60px !important;
}

/* ================================
   SOS REGISTRATION PAGE
   visual polish only
   ================================ */

/* Main registration card */
.container-md .card:has(#registration_form) {
  max-width: 940px !important;
  margin: -80px auto 60px auto !important;

  background: rgba(5, 11, 15, 0.84) !important;
  border: 1px solid rgba(163, 124, 84, 0.38) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(0, 0, 0, 0.42) !important;

  overflow: hidden !important;
}

/* Add page title without editing template */
.container-md .card:has(#registration_form)::before {
  content: "Register";
  display: block !important;

  padding: 14px 20px 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Body */
.container-md .card:has(#registration_form) .card-body {
  padding: 22px 26px 10px !important;
  background: rgba(7, 19, 23, 0.42) !important;
}

/* Each registration section row */
#registration_form > .row {
  margin: 0 0 16px 0 !important;
  padding: 0 0 18px 0 !important;

  border-bottom: 1px solid rgba(163, 124, 84, 0.28) !important;
}

/* Left section labels */
#registration_form > .row > .col-lg-3 {
  width: 190px !important;
  flex: 0 0 190px !important;

  padding: 14px 16px 0 0 !important;
  margin-right: 18px !important;

  color: #A37C54 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 15px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-align: right !important;
  text-shadow: 0 0 5px #000 !important;

  border-right: 1px solid rgba(188, 189, 189, 0.38) !important;
}

/* Main content column */
#registration_form > .row > .col {
  padding: 10px 0 0 0 !important;
}

/* Labels */
#registration_form label,
#registration_form .form-label {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Help/description text */
#registration_form .text-desc,
#registration_form .small {
  color: #8f9699 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* Inputs and selects */
#registration_form input[type="text"],
#registration_form input[type="password"],
#registration_form select,
#registration_form .select2-container.form-control {
  min-height: 34px !important;

  background: rgba(5, 11, 15, 0.92) !important;
  border: 1px solid rgba(163, 124, 84, 0.5) !important;
  border-radius: 7px !important;

  color: #BCBDBD !important;
  font-size: 14px !important;
  padding: 6px 10px !important;

  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.55) !important;
}

/* Focus */
#registration_form input[type="text"]:focus,
#registration_form input[type="password"]:focus,
#registration_form select:focus {
  outline: none !important;
  border-color: rgba(215, 195, 164, 0.85) !important;
  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.55),
    0 0 0 2px rgba(163, 124, 84, 0.22) !important;
}

/* Inner field separators */
#registration_form .border-bottom {
  border-bottom: 1px solid rgba(163, 124, 84, 0.28) !important;
}

/* Checkbox rows */
#registration_form .form-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 5px !important;
}

#registration_form .form-check-input {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
}

#registration_form .form-check-label {
  color: #BCBDBD !important;
  font-size: 13px !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

/* Captcha image */
#registration_form #captcha_img {
  display: block !important;
  margin: 8px 0 5px !important;

  border: 1px solid rgba(163, 124, 84, 0.45) !important;
  border-radius: 6px !important;
  background: rgba(5, 11, 15, 0.8) !important;
}

/* Refresh captcha button */
#registration_form input[name="refresh"] {
  min-height: 28px !important;

  background: rgba(5, 11, 15, 0.82) !important;
  border: 1px solid rgba(163, 124, 84, 0.55) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Footer */
.container-md .card:has(#registration_form) .card-footer {
  padding: 14px 18px 18px !important;

  background: rgba(5, 11, 15, 0.54) !important;
  border-top: 1px solid rgba(163, 124, 84, 0.26) !important;
  text-align: center !important;
}

/* Submit button */
.container-md .card:has(#registration_form) button[name="regsubmit"] {
  min-width: 190px !important;
  min-height: 34px !important;

  background: rgba(5, 11, 15, 0.85) !important;
  border: 1px solid rgba(163, 124, 84, 0.65) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 13px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 4px #000 !important;

  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.45),
    0 0 8px rgba(0, 0, 0, 0.32) !important;
}

.container-md .card:has(#registration_form) button[name="regsubmit"]:hover {
  background: rgba(163, 124, 84, 0.14) !important;
  border-color: rgba(215, 195, 164, 0.82) !important;
  color: #A37C54 !important;
}

/* Select2 referrer box */
#registration_form .select2-choice {
  background: transparent !important;
  border: 0 !important;
  color: #BCBDBD !important;
  box-shadow: none !important;
}

#registration_form .select2-chosen {
  color: #BCBDBD !important;
}

/* Hide weird honeypot fields so they do not create phantom spacing */
#registration_form input[name="regcheck1"],
#registration_form input[name="regcheck2"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  visibility: hidden !important;
}

/* ================================
   SOS LOST PASSWORD PAGE
   ================================ */

/* Lost password page only */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) {
  max-width: 760px !important;
  margin: -105px auto 60px auto !important;
}

/* Main card */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) > .card {
  background: rgba(5, 11, 15, 0.84) !important;
  border: 1px solid rgba(163, 124, 84, 0.38) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(0, 0, 0, 0.42) !important;

  overflow: hidden !important;
}

/* Override the login title */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) > .card::before {
  content: "Lost Password" !important;
  display: block !important;

  padding: 14px 18px 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Body */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .card-body {
  padding: 24px 34px 22px !important;
  background: rgba(7, 19, 23, 0.42) !important;
}

/* Labels and text */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) label,
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .mb-2 {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 15px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 4px #000 !important;
}

.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .text-muted {
  color: #8f9699 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
}

/* Inputs */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) input[type="text"] {
  width: 100% !important;
  min-height: 38px !important;

  background: rgba(5, 11, 15, 0.92) !important;
  border: 1px solid rgba(163, 124, 84, 0.5) !important;
  border-radius: 7px !important;

  color: #BCBDBD !important;
  font-size: 15px !important;
  padding: 6px 10px !important;

  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.55) !important;
}

.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) input[type="text"]:focus {
  outline: none !important;
  border-color: rgba(215, 195, 164, 0.85) !important;
  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.55),
    0 0 0 2px rgba(163, 124, 84, 0.22) !important;
}

/* Captcha area */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .row.mt-3 {
  margin-top: 18px !important;
}

.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) #captcha_img {
  display: block !important;
  margin: 8px 0 5px !important;

  border: 1px solid rgba(163, 124, 84, 0.45) !important;
  border-radius: 6px !important;
  background: rgba(5, 11, 15, 0.8) !important;
}

.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .smalltext.text-danger {
  color: #d7c3a4 !important;
  font-size: 12px !important;
}

/* Refresh button */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) input[name="refresh"] {
  min-height: 30px !important;
  padding: 5px 14px !important;

  background: rgba(5, 11, 15, 0.82) !important;
  border: 1px solid rgba(163, 124, 84, 0.55) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Footer */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) .card-footer {
  padding: 16px 18px 20px !important;

  background: rgba(5, 11, 15, 0.54) !important;
  border-top: 1px solid rgba(163, 124, 84, 0.26) !important;
  text-align: center !important;
}

/* Submit button */
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) button[name="submit"] {
  min-width: 250px !important;
  min-height: 36px !important;

  background: rgba(5, 11, 15, 0.85) !important;
  border: 1px solid rgba(163, 124, 84, 0.65) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 13px !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 4px #000 !important;

  box-shadow:
    inset 0 0 8px rgba(0, 0, 0, 0.45),
    0 0 8px rgba(0, 0, 0, 0.32) !important;
}

.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) button[name="submit"]:hover,
.container-md > form[action="member.php"]:has(input[name="action"][value="do_lostpw"]) input[name="refresh"]:hover {
  background: rgba(163, 124, 84, 0.14) !important;
  border-color: rgba(215, 195, 164, 0.82) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS REDIRECT / LOADING PAGE
   ================================ */

/* Main MyBB redirect box */
.redirect {
  max-width: 760px !important;
  margin: -80px auto 80px auto !important;
  padding: 0 !important;

  background: rgba(5, 11, 15, 0.86) !important;
  border: 1px solid rgba(163, 124, 84, 0.38) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(0, 0, 0, 0.42) !important;

  overflow: hidden !important;
  text-align: center !important;
}

/* Add a proper title bar */
.redirect::before {
  content: "Please Wait";
  display: block !important;

  padding: 14px 18px 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

/* Message area */
.redirect p,
.redirect div,
.redirect span {
  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 0 4px #000 !important;
}

/* First message block */
.redirect p:first-child,
.redirect > div:first-child {
  margin: 0 !important;
  padding: 28px 34px 18px !important;
}

/* Click/no-wait link area */
.redirect .smalltext,
.redirect p:last-child,
.redirect > a,
.redirect a {
  color: #d7c3a4 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  text-shadow: 0 0 4px #000 !important;
}

/* Give the click link a button feel */
.redirect a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 12px auto 24px !important;
  padding: 8px 16px !important;

  background: rgba(5, 11, 15, 0.82) !important;
  border: 1px solid rgba(163, 124, 84, 0.55) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.redirect a:hover {
  background: rgba(163, 124, 84, 0.14) !important;
  border-color: rgba(215, 195, 164, 0.82) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS REDIRECT / LOADING PAGE
   template rebuild
   ================================ */


.sos-redirect-wrap {
  max-width: 760px !important;
  margin: 135px auto 80px auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

.sos-redirect-card {
  overflow: hidden !important;

  background: rgba(5, 11, 15, 0.86) !important;
  border: 1px solid rgba(163, 124, 84, 0.38) !important;
  border-radius: 12px !important;

  box-shadow:
    inset 0 0 18px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(0, 0, 0, 0.42) !important;
}

.sos-redirect-head {
  padding: 14px 18px 12px !important;

  background: linear-gradient(rgba(47, 54, 56, 0.95), rgba(47, 54, 56, 0.88)) !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.35) !important;
}

.sos-redirect-head h3 {
  margin: 0 !important;
  padding: 0 !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 5px #000 !important;
}

.sos-redirect-body {
  padding: 26px 34px 28px !important;
  background: rgba(7, 19, 23, 0.42) !important;
}

.sos-redirect-message {
  padding: 18px 22px !important;

  background: rgba(5, 11, 15, 0.58) !important;
  border: 1px solid rgba(163, 124, 84, 0.32) !important;
  border-radius: 8px !important;

  color: #BCBDBD !important;
  font-family: "IM Fell English", serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 0 4px #000 !important;
}

.sos-redirect-message a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

.sos-redirect-message a:hover {
  color: #A37C54 !important;
  text-shadow: 0 0 5px rgba(163, 124, 84, 0.65) !important;
}

.sos-redirect-link {
  margin-top: 18px !important;
  text-align: center !important;
}

.sos-redirect-link a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 34px !important;
  padding: 7px 16px !important;

  background: rgba(5, 11, 15, 0.82) !important;
  border: 1px solid rgba(163, 124, 84, 0.55) !important;
  border-radius: 7px !important;

  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: 0 0 4px #000 !important;
}

.sos-redirect-link a:hover {
  background: rgba(163, 124, 84, 0.14) !important;
  border-color: rgba(215, 195, 164, 0.82) !important;
  color: #A37C54 !important;
}

/* ================================
   SOS REDIRECT PAGE POSITION PATCH
   removes giant empty-screen feeling
   ================================ */

body.sos-redirect-page {
  min-height: 100vh !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Pull the redirect card into true visual center */
.sos-redirect-wrap {
  width: 100% !important;
  max-width: 760px !important;

  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;

  transform: translateY(-35px) !important;
}

/* Keep the card from feeling too squat */
.sos-redirect-card {
  width: 100% !important;
}

/* Optional: slightly softer body so the blank background feels intentional */
.sos-redirect-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;

  z-index: -1;
}

/* ================================
   SOS REDIRECT BACKGROUND CLEAN FIX
   removes clipped top-banner effect
   ================================ */

body.sos-redirect-page {
  min-height: 100vh !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

/* Remove the weird fake top strip/overlay behavior */
body.sos-redirect-page::before,
.sos-redirect-page::before {
  content: none !important;
  display: none !important;
}

/* Keep the card centered cleanly */
.sos-redirect-wrap {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;

  transform: translateY(-30px) !important;
}

/* ================================
  NAME STYLING
================================ */

/* Base user link polish */
a[href*="member.php?action=profile&uid="],
.user-link {
  text-shadow: black 0 0 5px, black 0 0 5px;
  font-style: normal;
  font-weight: normal;
}

/* Shared animated name styling */
a[href$="uid=2"],
a[href*="uid=2&"],
a[href$="uid=3"],
a[href*="uid=3&"],
a[href$="uid=4"],
a[href*="uid=4&"],
a[href$="uid=1"],
a[href*="uid=1&"]{
  font-style: italic;
  font-weight: bold;
	font-size: 20px;
  background-size: 300% 300%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shift-gradient 5s ease infinite;
}

/* User 1 */
a[href$="uid=1"],
a[href*="uid=1&"] {
  text-shadow: 0 0 10px white;
  background-image: linear-gradient(270deg, #b0b0b0, white, #b0b0b0);
}

/* User 2 */
a[href$="uid=4"],
a[href*="uid=4&"] {
  text-shadow: 0 0 10px aqua;
  background-image: linear-gradient(270deg, #40a7ff, white, #40a7ff);
}

/* User 3 */
a[href$="uid=2"],
a[href*="uid=2&"] {
  text-shadow: 0 0 10px magenta;
  background-image: linear-gradient(270deg, #b186f9, white, #b186f9);
}

/* User 4 */
a[href$="uid=3"],
a[href*="uid=3&"] {
  text-shadow: 0 0 10px darkgreen;
  background-image: linear-gradient(270deg, #063515, white, #063515);
}

/* Gradient shimmer */
@keyframes shift-gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/* Keep special username styling out of the welcome/member bar, do NOT alter or delete */
.sos-memberbar__welcome a[href*="member.php?action=profile&uid="],
a.sos-memberbar__welcome[href*="member.php?action=profile&uid="] {
  font-size: 12px !important;
  font-style: italic !important;
  font-weight: bold !important;
  text-transform: normal !important;
  color: inherit !important;
  text-shadow: none !important;

  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: inherit !important;

  animation: none !important;
}

/* ======================================================
   ACTIVE PATCH - Keep Staff/OTM Hover Text Clear
   Prevent special username styling from affecting image cards
====================================================== */

a.hover-avatar,
a.hover-avatar:visited,
a.hover-avatar:hover,
a.hover-avatar:focus {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  animation: none !important;
  text-shadow: none !important;
}

/* The actual hover label text */
a.hover-avatar > span,
a.hover-avatar > span *,
a.hover-avatar:hover > span,
a.hover-avatar:focus > span {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #d4d6d6 !important;
font-size: 12.5px;
  color: #d4d6d6 !important;
  text-shadow: 0 0 5px #000 !important;
  font-style: italic !important;
  font-weight: normal !important;
  animation: none !important;
}

/* Keep the divider readable */
a.hover-avatar > span hr {
  border-top: 1px solid rgba(163, 124, 84, 0.65) !important;
}

/*=========================
END NAME STYLING
==========================*/

/* ================================
   Edited / Modified Post Note
================================ */

.sos-edited-note-wrap {
  margin-top: 18px !important;
}

.sos-edited-note {
  display: inline-block !important;
  max-width: 90% !important;
  color: #9fa7aa !important;
  font-size: 10px !important;
  font-style: italic !important;
  line-height: 1.5 !important;

  text-shadow: 0 0 4px #000 !important;
}

.sos-edited-note a {
  color: #d7c3a4 !important;
  font-style: italic !important;
  font-weight: bold !important;
}

/* ======================================================
   ACTIVE PATCH - Welcome Table Cleanup
   - remove outer arch
   - tighten Character of the Year
   - make Character name clickable
   - make OTM images taller
   - add proper 100x100 season icon spot
   - tighten Quick Links title area
   - make Quick Links fill space better
====================================================== */

/* ----------------------------------
   1. Remove the leftover outer arch
----------------------------------- */
.welcome {
  border-radius: 8px !important;
  padding-top: 15px !important;
}

/* ----------------------------------
   2. Character of the Year cleanup
----------------------------------- */
.welcome__character-year {
  width: 100% !important;
  height: auto !important;
  padding: 16px !important;
  box-sizing: border-box;
}

.character-year__body {
  display: flex !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.character-year__image {
  width: 150px !important;
  height: 220px !important;
  flex: 0 0 150px !important;
}

.character-year__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.character-year__info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 220px !important;
  display: flex !important;
  flex-direction: column !important;
}

.character-year__name {
  margin-bottom: 8px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

.character-year__name a {
  display: block !important;
  color: #e0e0e0 !important;
  text-decoration: none !important;
	font-size: 11px;
}

.character-year__name a:hover {
  color: #A37C54 !important;
}

.character-year__desc {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

/* ----------------------------------
   3. OTM images taller so bottoms line up better
----------------------------------- */
a.hover-avatar--otm {
  width: 150px !important;
  height: 220px !important;
}

a.hover-avatar--otm img {
  width: 150px !important;
  height: 220px !important;
  object-fit: cover !important;
}

/* ----------------------------------
   4. Updates / season icon cleanup
----------------------------------- */
.welcome__content--updates {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
}

.welcome__weather-icon {
  width: 100px !important;
  height: 100px !important;
  margin-top: 10px !important;
  margin-right: 12px !important;
  margin-left: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 1px solid rgba(163, 124, 84, 0.45) !important;
  flex: 0 0 100px !important;
}

.welcome__weather-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 50% !important;
}

.welcome__weather {
  flex: 1 1 calc(100% - 112px) !important;
  margin-top: 10px !important;
  margin-left: 0 !important;
  min-width: 0 !important;
}

.welcome__weather p {
  margin: 0 !important;
}

/* ----------------------------------
   5. Quick Links title bar less tall
----------------------------------- */
.welcome__content--links {
  display: flex !important;
  flex-direction: column !important;
}

.welcome__content--links .welcome__title {
  height: 32px !important;
  min-height: 32px !important;
  margin-bottom: 8px !important;
  padding: 6px 10px 6px 23px !important;
  align-items: center !important;
}

.welcome__content--links .welcome__title p {
  margin: 0 !important;
  line-height: 1 !important;
}

/* ======================================================
   ACTIVE PATCH - Season Circle + Faster Fade
   Added Apr 26
====================================================== */

/* ----------------------------------
   Faster fade-scroll animation
   Site-wide for anything using .fade-scroll
----------------------------------- */

.fade-scroll {
  transition:
    opacity 0.25s ease,
    transform 0.25s ease !important;
}

/* If fade-scroll uses a slide/translate, keep it subtle */
.fade-scroll.visible {
  transform: translateY(0) !important;
}


/* ----------------------------------
   Welcome season row
   Keeps the season image beside the text
----------------------------------- */

.welcome__season-row {
  width: 100% !important;
  margin-top: 10px !important;

  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

/* 100x100 circular season image */
.welcome__season-row .welcome__weather-icon {
  width: 100px !important;
  height: 100px !important;
  flex: 0 0 100px !important;

  margin: 0 !important;
  padding: 0 !important;

  border-radius: 50% !important;
  overflow: hidden !important;

  background: #071317 !important;
  border: 1px solid rgba(163, 124, 84, 0.5) !important;
  box-shadow:
    0 0 10px rgba(0, 0, 0, 0.55),
    inset 0 0 8px rgba(0, 0, 0, 0.45) !important;

  display: block !important;
}

.welcome__season-row .welcome__weather-icon img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: cover !important;

  border-radius: 50% !important;
}

/* Season text box beside the circle */
.welcome__season-row .welcome__weather {
  flex: 1 1 auto !important;
  min-height: 100px !important;

  margin: 0 !important;
  padding: 16px 22px !important;

  display: flex !important;
  align-items: center !important;

  background: #071317 !important;
  border: 1px solid rgba(163, 124, 84, 0.35) !important;
  border-radius: 5px !important;
  box-shadow: inset 0 0 0 1px rgba(163, 124, 84, 0.08) !important;
}

.welcome__season-row .welcome__weather p {
  margin: 0 !important;
  line-height: 1.7 !important;
}

/* ======================================================
   ACTIVE PATCH - Center Staff/OTM Hover Text
====================================================== */

a.hover-avatar > span {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  padding: 12px !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
  line-height: 1.35 !important;

  transform: none !important;
}

a.hover-avatar:hover > span,
a.hover-avatar:focus > span {
  opacity: 1 !important;
  transform: none !important;
}

a.hover-avatar > span hr {
  width: 70% !important;
  margin: 7px auto !important;
}

/* ================================
   RESOURCE LIBRARY FAMILY
   fid 8  = Resources
   fid 19 = Character
   fid 20 = Player

   Field guide / compendium styling
================================ */

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) {
  padding: 18px;
  background:
    radial-gradient(circle at top center, rgba(163,124,84,.10), transparent 38%),
    rgba(7,19,23,.28);
  border: 1px solid rgba(163,124,84,.22);
  border-radius: 10px;
}


/* ================================
   SECTION SHELLS
================================ */

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) > .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Regular board/subforum headers */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) > .card > .card-header:not(:has(.sort_text)) {
  width: fit-content;
  min-width: 260px;
  margin: 0 auto 14px auto;
  padding: 9px 22px !important;
  background: rgba(7,19,23,.82) !important;
  border: 1px solid rgba(163,124,84,.55) !important;
  border-bottom: 3px double rgba(163,124,84,.65) !important;
  border-radius: 12px 12px 2px 2px !important;
  box-shadow: 0 0 14px rgba(0,0,0,.45);
  text-align: center;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) > .card > .card-header:not(:has(.sort_text)) h5 {
  color: #A37C54 !important;
  font-family: "IM Fell English", serif;
  font-size: 20px;
  font-style: italic;
  letter-spacing: 1px;
  text-transform: none;
  text-shadow: 0 0 5px #000;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .card-body {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 0 0 !important;
}


/* ================================
   SUBFORUM CARDS
   Field guide entries
================================ */

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px 0;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(13,24,28,.45), rgba(11,23,27,.25));
  border: 6px double rgba(163,124,84,.68);
  border-radius: 0;
  box-shadow:
    0 0 18px rgba(0,0,0,.55),
    inset 0 0 10px rgba(0,0,0,.55);
  overflow: visible;
  grid-template-columns: minmax(0, 1fr) 90px 210px !important;
  column-gap: 12px !important;
}

/* Little field guide tab */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card::before {
  content: "FIELD GUIDE ENTRY";
  position: absolute;
  top: -13px;
  left: 22px;
  padding: 3px 14px 4px 14px;
  background: rgba(163,124,84,.88);
  color: #071317;
  border-radius: 8px 8px 0 0;
  font-family: "IM Fell English", serif;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  box-shadow: 0 -2px 8px rgba(0,0,0,.25);
}

/* Hide the little new-post status dot on Resource family subforum cards */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__status {
  display: none !important;
}

/* Main content safety */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__main {
  min-width: 0 !important;
}

/* Title line */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__heading {
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 8px 0 !important;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__title-left h3 {
  margin: 0;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__title-left h3 a {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
  font-size: 28px;
  font-style: italic;
  letter-spacing: .5px;
  text-shadow: 0 0 6px #000;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__title-left h3 a:hover {
  color: #fff1d6 !important;
  text-shadow: 0 0 7px #A37C54;
}

/* Subforum pills as little guide tags */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-subforums-inline {
  margin-top: 6px;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-subforum-pill {
  display: inline-block;
  margin: 3px 4px 0 0;
  padding: 4px 9px;
  background: rgba(7,19,23,.72);
  border: 1px solid rgba(163,124,84,.42);
  border-radius: 999px;
  color: #A37C54 !important;
  font-size: 11px;
  font-style: normal !important;
  letter-spacing: .6px;
  text-transform: uppercase;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-subforum-pill:hover {
  background: rgba(163,124,84,.12);
  color: #fff1d6 !important;
}

/* Description image area */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__imagewrap {
  background:
    linear-gradient(180deg, rgba(255,248,235,.06), rgba(255,248,235,.025));
  border: 1px solid rgba(163,124,84,.28);
  border-radius: 10px;
  box-shadow: inset 0 0 12px rgba(0,0,0,.28);
}

/* Counts and latest */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__counts,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__latest {
  background: rgba(7,19,23,.62) !important;
  border: 1px solid rgba(163,124,84,.28) !important;
  border-radius: 10px !important;
  box-shadow: inset 0 0 10px rgba(0,0,0,.28);
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-card__latest {
  min-width: 0 !important;
  max-width: 210px;
  box-sizing: border-box;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-count span {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-forum-count small {
  color: #A37C54 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}



/* ================================
   THREAD SORT BAR
   Thread / Author / Replies / Last Post
================================ */

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .card-header:has(.sort_text) {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px 0 !important;
  padding: 10px 14px !important;
  background:
    linear-gradient(180deg, rgba(13,24,28,.45), rgba(11,23,27,.25)) !important;
  border: 1px solid rgba(163,124,84,.15) !important;
  box-shadow:
    inset 0 0 0 2px rgba(163,124,84,.18),
    0 0 14px rgba(0,0,0,.35),
    inset 0 0 10px rgba(0,0,0,.45) !important;
  border-radius: 0 !important;
}

/* Clean horizontal header */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 90px 220px !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Kill Bootstrap column behavior inside this one row */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text > .col,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text > .col-1,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text > .col-3 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text > .col:first-child {
  text-align: left !important;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text > .col-3 {
  text-align: right !important;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text p,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text a {
  white-space: nowrap !important;
}

/* Sort links as small brass catalog labels */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text a {
  display: inline-block;
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
  font-size: 13px;
  font-style: normal !important;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  text-decoration: none !important;
  text-shadow: 0 0 5px #000;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text a:hover {
  color: #fff1d6 !important;
  text-shadow: 0 0 6px #A37C54;
}

/* Moderation checkbox */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text .float-end {
  float: none !important;
  display: inline-block !important;
  margin-left: 10px;
  vertical-align: middle;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sort_text .form-check-input {
  background-color: rgba(7,19,23,.75) !important;
  border: 1px solid rgba(163,124,84,.65) !important;
  box-shadow: none !important;
}


/* ================================
   THREAD LIST ROWS
================================ */

/* Main thread rows inside Resource family boards */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row {
  background: transparent !important;
  border: 0 !important;
}

/* Pretty brass field-guide frame */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row .row.py-2 {
  position: relative;
  padding: 18px 14px 14px 14px !important;
  margin-bottom: 14px;
  background: linear-gradient(180deg, rgba(13,24,28,.42), rgba(11,23,27,.24));
  border: 1px solid rgba(163,124,84,.65) !important;
  border-radius: 0;
  box-shadow:
    inset 0 0 0 2px rgba(163,124,84,.22),
    0 0 14px rgba(0,0,0,.35),
    inset 0 0 10px rgba(0,0,0,.45) !important;
}

/* Put title tab and byline on the same line */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row .col:has(.sos-thread-titleline) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  column-gap: 12px !important;
  row-gap: 6px !important;
  min-width: 0 !important;
}

/* Thread title line */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline {
  order: 1;
  margin: 0 !important;
  line-height: 1 !important;
}

/* The actual field guide tab */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline > a,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline a:first-of-type {
  display: inline-block;
  padding: 8px 16px 7px 16px;
  margin-bottom: 6px;
  background: rgba(163,124,84,.88);
  color: #071317 !important;
  border-radius: 10px 10px 0 0;
  font-family: "IM Fell English", serif;
  font-size: 24px;
  font-style: italic;
  line-height: 1;
  letter-spacing: .4px;
  text-decoration: none !important;
  box-shadow: 0 -2px 8px rgba(0,0,0,.22);
  position: relative;
}

/* No extra mini-label above thread titles */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline > a::before,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline a:first-of-type::before {
  display: none !important;
  content: none !important;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline > a:hover,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-titleline a:first-of-type:hover {
  background: #d7c3a4;
  color: #071317 !important;
}

/* Author/byline beside title tab */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row .col:has(.sos-thread-titleline) .links.small {
  order: 2;
  margin: 0 0 4px 0 !important;
  padding: 3px 9px;
  border-left: 1px solid rgba(163,124,84,.45);
  color: rgba(215,195,164,.72) !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .links.small a {
  color: #A37C54 !important;
  text-decoration: none !important;
}

/* Description/note under title and byline */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .sos-thread-description,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .thread-description,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) [class*="thread_description"] {
  order: 3;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 8px !important;
  padding: 10px 12px;
  background: rgba(255,248,235,.04);
  border: 1px solid rgba(163,124,84,.45) !important;
  border-left: 4px solid rgba(163,124,84,.65) !important;
  color: #d7c3a4 !important;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 0 8px 8px 0;
  box-shadow: inset 0 0 8px rgba(0,0,0,.28);
}

/* Prefix/labels stay out of the way */
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row .col:has(.sos-thread-titleline) .thread_status,
:is(.sos-fid-8, .sos-fid-19, .sos-fid-20) .inline_row .col:has(.sos-thread-titleline) .label {
  order: 4;
}

/* ================================
   FIELD GUIDE CATEGORY
   category 6: General / Field Guide
   subtle category-only board styling
================================ */

/* Whole category shell */
.card:has(#cat_6_e) {
  background:
    radial-gradient(circle at top center, rgba(163,124,84,.08), transparent 42%),
    rgba(7,19,23,.18) !important;
  border: 1px solid rgba(163,124,84,.16) !important;
  border-radius: 10px !important;
  box-shadow:
    inset 0 0 18px rgba(0,0,0,.28),
    0 0 14px rgba(0,0,0,.22);
  overflow: visible;
}

/* Category title bar: quieter field-guide plaque */
.card:has(#cat_6_e) > .card-header {
  background:
    linear-gradient(90deg, rgba(163,124,84,.12), rgba(47,54,56,.58), rgba(163,124,84,.06)) !important;
  border: 1px solid rgba(163,124,84,.22) !important;
  border-bottom: 1px solid rgba(163,124,84,.32) !important;
  border-radius: 8px 8px 2px 2px !important;
  box-shadow: inset 0 0 10px rgba(0,0,0,.24);
}

.card:has(#cat_6_e) > .card-header h5 a {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
  font-size: 22px;
  font-style: normal !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-shadow: 0 0 5px #000;
}

.card:has(#cat_6_e) > .card-header h5 a:hover {
  color: #fff1d6 !important;
  text-shadow: 0 0 6px #A37C54;
}

/* Body spacing */
#cat_6_e {
  background: transparent !important;
  padding: 12px 4px 10px 4px !important;
}

/* Board cards: subtle field-guide pages, not giant spotlight cards */
#cat_6_e .sos-forum-card {
  position: relative;
  margin: 0 0 18px 0;
  background:
    linear-gradient(180deg, rgba(13,24,28,.36), rgba(11,23,27,.20)) !important;
  border: 1px solid rgba(163,124,84,.38) !important;
  border-radius: 6px !important;
  box-shadow:
    inset 0 0 0 1px rgba(163,124,84,.10),
    inset 0 0 14px rgba(0,0,0,.36),
    0 0 12px rgba(0,0,0,.24);
  overflow: visible;
}

/* Status dot becomes a little guide marker */
#cat_6_e .sos-forum-card__status {
  opacity: .75;
}

#cat_6_e .sos-forum-card__status .forum_status {
  color: #A37C54 !important;
  text-shadow: 0 0 6px rgba(163,124,84,.45);
}

/* Title area loses the heavy box feeling */
#cat_6_e .sos-forum-card__heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 0 7px 0 !important;
}

/* Board title as a small field-guide tab */
#cat_6_e .sos-forum-card__title-left h3 {
  margin: 0;
  line-height: 1;
}

#cat_6_e .sos-forum-card__title-left h3 a {
  display: inline-block;
  padding: 7px 14px 6px 14px;
  background: rgba(163,124,84,.32);
  border: 1px solid rgba(163,124,84,.42);
  border-bottom-color: rgba(163,124,84,.20);
  border-radius: 10px 10px 0 0;
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
  font-size: 22px;
  font-style: italic !important;
  letter-spacing: .6px;
  text-shadow: 0 0 5px #000;
  box-shadow: 0 -2px 8px rgba(0,0,0,.18);
}

#cat_6_e .sos-forum-card__title-left h3 a:hover {
  background: rgba(163,124,84,.44);
  color: #fff1d6 !important;
  text-shadow: 0 0 7px #A37C54;
}

/* Subforum pills become tiny index tags */
#cat_6_e .sos-subforums-inline {
  margin-top: 3px;
}

#cat_6_e .sos-subforum-pill {
  display: inline-block;
  margin: 3px 4px 0 0;
  padding: 3px 8px;
  background: rgba(7,19,23,.62);
  border: 1px solid rgba(163,124,84,.34);
  border-radius: 999px;
  color: #A37C54 !important;
  font-size: 10px;
  font-style: normal !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}

#cat_6_e .sos-subforum-pill:hover {
  background: rgba(163,124,84,.10);
  color: #fff1d6 !important;
}

/* Description panel: field note box, quieter than the resource board */
#cat_6_e .sos-forum-card__imagewrap {
  background:
    linear-gradient(180deg, rgba(255,248,235,.035), rgba(255,248,235,.015)) !important;
  border: 1px solid rgba(163,124,84,.26) !important;
  border-radius: 7px !important;
  box-shadow: inset 0 0 10px rgba(0,0,0,.26);
}

/* Counts and latest: subdued catalog stamps */
#cat_6_e .sos-forum-card__counts,
#cat_6_e .sos-forum-card__latest {
  background: rgba(7,19,23,.50) !important;
  border: 1px solid rgba(163,124,84,.24) !important;
  border-radius: 7px !important;
  box-shadow: inset 0 0 8px rgba(0,0,0,.24);
}

#cat_6_e .sos-forum-count span {
  color: #d7c3a4 !important;
  font-family: "IM Fell English", serif;
}

#cat_6_e .sos-forum-count small {
  color: #A37C54 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Latest post text/link polish */
#cat_6_e .sos-forum-card__lasttext a {
  color: #d7c3a4 !important;
  text-decoration: none !important;
}

#cat_6_e .sos-forum-card__lasttext a:hover {
  color: #fff1d6 !important;
  text-shadow: 0 0 5px #A37C54;
}

#cat_6_e .sos-forum-card__lasttext .text-muted,
#cat_6_e .sos-forum-card__lasttext .small {
  color: rgba(215,195,164,.72) !important;
}

/* Last-poster avatar, if present */
#cat_6_e .sos-lastavatar img {
  border: 1px solid rgba(163,124,84,.45);
  box-shadow: 0 0 10px rgba(0,0,0,.35);
}

/* Center the category title */
.card:has(#cat_6_e) > .card-header h5 {
  margin: 0 !important;
  text-align: center !important;
}

/* keep the link itself behaving nicely */
.card:has(#cat_6_e) > .card-header h5 a {
  display: inline-block;
}

/* Remove the gap so the little file tab feels attached */
#cat_6_e .sos-forum-card__heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#cat_6_e .sos-forum-card__titleline {
  margin: 0 0 -1px 0 !important;
  align-items: end !important;
}

#cat_6_e .sos-forum-card__title-left h3 {
  margin: 0 !important;
  line-height: 1 !important;
}

/* make the tab sit right onto the box */
#cat_6_e .sos-forum-card__title-left h3 a {
  position: relative;
  z-index: 3;
  margin-bottom: -1px;
}

/* Field Guide category only: slimmer board image panels */
#cat_6_e .sos-forum-card__imagewrap,
#cat_6_e .sos-board-image,
#cat_6_e .sos-board-overlay {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
}

/* Keep the image/overlay filling the shorter space cleanly */
#cat_6_e .sos-board-image {
  background-size: cover !important;
  background-position: center !important;
}

/* If the description text needs to stay centered in the shorter image box */
#cat_6_e .sos-board-overlay {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Field Guide category only: let the whole board card slim down with the image */
#cat_6_e .sos-forum-card {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
max-height: 200px;
}

#cat_6_e .sos-forum-card__counts,
#cat_6_e .sos-forum-card__latest {
  min-height: 120px !important;
}

/* Field Guide category only: shrink last-poster avatar for thinner cards */
#cat_6_e .sos-forum-card__lastavatar,
#cat_6_e .sos-forumcard__lastavatar,
#cat_6_e .sos-lastavatar {
  width: 70px !important;
  height: 92px !important;
  flex: 0 0 70px !important;
  margin: 0 auto 6px auto !important;
  overflow: hidden !important;
  border-radius: 70px 70px 0 0 !important;
}

#cat_6_e .sos-forum-card__lastavatar img,
#cat_6_e .sos-forumcard__lastavatar img,
#cat_6_e .sos-lastavatar img {
  width: 70px !important;
  height: 92px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 70px 70px 0 0 !important;
}

/* Keep latest-post box from letting the avatar spill out */
#cat_6_e .sos-forum-card__latest {
  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 5px !important;
}

/* Tighten the text under/near the smaller avatar */
#cat_6_e .sos-forum-card__lasttext {
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

#cat_6_e .sos-forum-card__lasttext p {
  margin: 0 !important;
}

/* Field Guide category only: make latest post compact instead of stacked */
#cat_6_e .sos-forum-card__latest {
  height: 180px !important;
  min-height: 180px !important;
  max-height: 180px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 10px !important;

  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Smaller side avatar */
#cat_6_e .sos-forum-card__lastavatar,
#cat_6_e .sos-forumcard__lastavatar,
#cat_6_e .sos-lastavatar {
  width: 54px !important;
  height: 120px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  flex: 0 0 54px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 54px 54px 0 0 !important;
  align-self: center !important;
  justify-self: center !important;
}

/* Force the actual image to obey */
#cat_6_e .sos-forum-card__lastavatar img,
#cat_6_e .sos-forumcard__lastavatar img,
#cat_6_e .sos-lastavatar img {
  width: 54px !important;
  height: 120px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 54px 54px 0 0 !important;
}

/* Text sits beside it, not underneath */
#cat_6_e .sos-forum-card__lasttext {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  align-self: center !important;
}

/* Tighten inner text */
#cat_6_e .sos-forum-card__lasttext p {
  margin: 0 !important;
  line-height: 1.15 !important;
}

/* If there is no avatar, let the text span the whole latest box */
#cat_6_e .sos-forum-card__lastavatar:empty {
  display: none !important;
}

#cat_6_e .sos-forum-card__latest:has(.sos-forum-card__lastavatar:empty) {
  grid-template-columns: 1fr !important;
}

/* Field Guide category only: make "Never" fill the latest-post box */
#cat_6_e .sos-forum-card__latest:has(.sos-forum-card__lastavatar:empty) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#cat_6_e .sos-forum-card__latest:has(.sos-forum-card__lastavatar:empty) .sos-forum-card__lasttext {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ================================
   FIELD GUIDE CATEGORY ONLY
   Clean "Never" / no-last-post layout
================================ */

/* Only latest-post boxes with NO image/avatar inside */
#cat_6_e .sos-forum-card__latest:not(:has(img)) {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  box-sizing: border-box !important;
  padding: 8px !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hide the empty avatar/plugin slot only on no-image latest boxes */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lastavatar,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forumcard__lastavatar,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-lastavatar {
  display: none !important;
}

/* Last-text area fills the available box */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Hide the mobile duplicate Never block */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-none,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-block.d-sm-block.d-md-block {
  display: none !important;
}

/* Keep only the desktop Never block */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-block {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Flatten the Bootstrap row so it stops making weird height/spacing */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-block .row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Remove the default user icon column */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-block .col-auto {
  display: none !important;
}

/* Make the text column full width */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-block .col {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The actual Never stamp */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext p.fs-6.mb-0 {
  display: block !important;
  width: calc(100% - 20px) !important;
  max-width: none !important;
  box-sizing: border-box !important;

  margin: 0 auto !important;
  padding: 10px 12px !important;

  text-align: center !important;
  line-height: 1.15 !important;

  background: rgba(7,19,23,.76) !important;
  border: 1px solid rgba(163,124,84,.38) !important;
  border-radius: 8px !important;
  color: #d7c3a4 !important;
}

/* Final nudge: center Never and remove the extra inner container look */
#cat_6_e .sos-forum-card__latest:not(:has(img)) {
  position: relative !important;
  padding: 10px !important;
}

/* Make all the wrappers invisible/structure-only */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext > .d-lg-block,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext .row,
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext .col {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Place the Never stamp in the vertical center */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext p.fs-6.mb-0 {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(50%) !important;

  width: auto !important;
  margin: 0 !important;
}

/* Field Guide category only: shrink no-post / Never latest box */
#cat_6_e .sos-forum-card__latest:not(:has(img)) {
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  align-self: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

/* Keep the Never stamp centered inside the shorter box */
#cat_6_e .sos-forum-card__latest:not(:has(img)) .sos-forum-card__lasttext {
  height: 100% !important;
}



/* Postbit last name beside character first name */
.sos-post__namewrap {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: wrap;
	text-align: left;
}

.sos-post__lastname {
	font-family: "IM Fell English", serif;
	font-size: 20px;
	letter-spacing: 1px;
	color: #676E76;
	text-shadow: 0 0 5px #000;
}

.sos-post__lastname:empty {
	display: none;
}

/* Character profile last name */
.sos-mockprofile__namewrap {
	text-align: center;
font-size: 50px !important;
}

.sos-mockprofile__lastname {
	margin-top: -15px;
	font-family: "IM Fell English", serif;
	font-size: 25px;
	font-style: italic;
	letter-spacing: 1.5px;
	color: #969CA5;
	text-shadow: 0 0 5px #000000, 0px 0px 10px #000000;
}

.sos-mockprofile__lastname:empty {
	display: none;
}

/* Latest Posts prefix spacing cleanup */
.sos-latestposts__thread {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.sos-latestposts__prefix {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  font-size: 0 !important;
}

.sos-latestposts__prefix .sos-prefix {
  margin: 0 !important;
  font-size: 11px !important;
}

.sos-latestposts__thread > a {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   SOS MYBB - Editor readability helper
   Makes tag/code-heavy posts easier to edit.
   ============================================================ */

textarea,
textarea.form-control,
#message,
[name="message"] {
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
  tab-size: 2;
}

.sos-guide-rules-key {
  margin: 12px 0 18px 0;
  padding: 16px 18px;
  background: rgba(7, 19, 23, 0.88);
  border: 1px solid rgba(163, 124, 84, 0.6);
  border-radius: 14px;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.35),
    inset 0 0 18px rgba(163, 124, 84, 0.06);
  color: #BCBDBD;
  line-height: 1.55;
}

.sos-guide-rules-key * {
  box-sizing: border-box;
}

.sos-guide-rules-key__title {
  margin: 0 0 8px 0;
  color: #A37C54;
  font-family: "IM Fell English", serif;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.65);
}

.sos-guide-rules-key__intro {
  margin: 0 0 12px 0;
  color: #d7c3a4;
  font-size: 13px;
}

.sos-guide-rules-key__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 12px 0;
}

.sos-guide-rules-key__box {
  padding: 12px 14px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(163, 124, 84, 0.32);
  border-radius: 10px;
}

.sos-guide-rules-key__box-title {
  display: block;
  margin: 0 0 6px 0;
  color: #A37C54;
  font-family: "IM Fell English", serif;
  font-size: 17px;
  letter-spacing: 0.03em;
}

.sos-guide-rules-key__box p {
  margin: 0;
}

.sos-guide-rules-key__code {
  display: inline-block;
  padding: 1px 6px;
  margin: 0 2px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(163, 124, 84, 0.35);
  border-radius: 6px;
  color: #d7c3a4;
  font-family: Consolas, Monaco, monospace;
  font-size: 12px;
  line-height: 1.4;
}

.sos-guide-rules-key__sample {
  margin: 8px 0 0 0;
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.34);
  border: 1px solid rgba(163, 124, 84, 0.28);
  border-radius: 10px;
  color: #d7c3a4;
  font-family: Consolas, Monaco, monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.sos-guide-rules-key__note {
  margin: 12px 0 0 0;
  padding: 10px 12px;
  border-left: 3px solid #A37C54;
  background: rgba(163, 124, 84, 0.08);
  border-radius: 8px;
  color: #BCBDBD;
}

/* Guidebook Content board header: force compact desktop grid */
.sos-guide-rules-key__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* MyBB may insert line breaks between header HTML blocks. Hide them inside the grid. */
.sos-guide-rules-key__grid > br {
  display: none !important;
}

/* Make each box fill its grid cell neatly. */
.sos-guide-rules-key__grid > .sos-guide-rules-key__box {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* ============================================================
   SOS DESKTOP LOCK PATCH
   Welcome table last-row + top navigation

   Purpose:
   Prevents small screens from reflowing these pieces into
   mobile-style stacking/wrapping.

   Safe style:
   Append-only. Remove this whole block to undo.
   ============================================================ */

@media (max-width: 900px) {

  /* Keep the page behaving like the desktop layout instead of shrinking. */
  html,
  body {
    min-width: 1150px !important;
    overflow-x: auto !important;
  }

  /* TOP NAV: keep links in one desktop row */
  #navigation-menu {
    min-width: 1150px !important;
    width: 1150px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
  }

  #navigation-menu > ul {
    display: inline-block !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  #navigation-menu > ul > li {
    display: inline-block !important;
    float: none !important;
    vertical-align: top !important;
    white-space: nowrap !important;
  }

  #navigation-menu > ul > li > a {
    white-space: nowrap !important;
  }

  /* WELCOME TABLE: preserve desktop width */
  .welcome {
    width: 1150px !important;
    min-width: 1150px !important;
    max-width: none !important;
  }

  /* WELCOME TABLE LAST ROWS: stop stacking */
  .welcome .welcome__row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }

  /* Tab 1 last row: Updates + Quick Links */
  .welcome .welcome__content--updates,
  .welcome .welcome__content--links {
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
  }

  .welcome .welcome__content--links {
    margin-left: 10px !important;
  }

  /* Tab 2 row: Character of the Year + Of the Month */
  .welcome .welcome__content--character-year,
  .welcome .welcome__content--otm {
    flex: 0 0 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
  }

  .welcome .welcome__content--otm {
    margin-left: 10px !important;
  }
}

/* ============================================================
   SOS WELCOME TABLE DESKTOP LOCK
   Strong append-only patch.

   Purpose:
   Keep the welcome table in desktop layout even when zoomed
   or viewed on mobile-width screens.
   Remove this whole block to undo.
   ============================================================ */

/* Force the page to keep desktop-width behavior instead of reflowing */
html,
body {
  min-width: 1150px !important;
  overflow-x: auto !important;
}

/* Keep the welcome shell desktop-sized */
.welcome {
  width: 1150px !important;
  min-width: 1150px !important;
  max-width: 1150px !important;
  box-sizing: border-box !important;
}

/* Keep welcome rows side-by-side */
.welcome .welcome__row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 100% !important;
}

/* Force all major half-row blocks to stay half-width */
.welcome .welcome__row > .welcome__content--intro,
.welcome .welcome__row > .welcome__content--staff,
.welcome .welcome__row > .welcome__content--updates,
.welcome .welcome__row > .welcome__content--links,
.welcome .welcome__row > .welcome__content--clan-census,
.welcome .welcome__row > .welcome__content--character-year,
.welcome .welcome__row > .welcome__content--otm {
  flex: 0 0 calc(50% - 5px) !important;
  width: calc(50% - 5px) !important;
  min-width: calc(50% - 5px) !important;
  max-width: calc(50% - 5px) !important;
  box-sizing: border-box !important;
}

/* Keep the right-side blocks spaced like desktop */
.welcome .welcome__row > .welcome__content--staff,
.welcome .welcome__row > .welcome__content--links,
.welcome .welcome__row > .welcome__content--otm {
  margin-left: 10px !important;
}

/* Stop inner OTM/staff cards from forcing their parent to wrap underneath */
.welcome__content--staff,
.welcome__content--otm {
  flex-wrap: nowrap !important;
  overflow: hidden !important;
}

/* Keep OTM/staff avatar cards in a row */
.welcome__content--staff a.hover-avatar,
.welcome__content--otm a.hover-avatar {
  flex: 0 0 150px !important;
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

/* ============================================================
   SOS WELCOME TABLE INNER LAYOUT REPAIR
   Fixes Staff / Of the Month title strips after desktop-lock patch.

   Purpose:
   Keep outer welcome rows from stacking,
   but allow the inside of Staff and OTM panels to wrap normally.
   ============================================================ */

/* The outer rows stay desktop-locked, but these inner panels need wrapping
   so their title/header can sit above the image cards. */
.welcome__content--staff,
.welcome__content--otm {
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  overflow: visible !important;
}

/* Staff title strip should take the full top row */
.welcome__content--staff .welcome__title,
.welcome__content--staff > .welcome__title {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 5px !important;
}

/* OTM title strip should take the full top row */
.welcome__content--otm .welcome__title--otm,
.welcome__content--otm > .welcome__title--otm {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 5px !important;
}

/* Keep the avatar cards in a row beneath the title */
.welcome__content--staff a.hover-avatar,
.welcome__content--otm a.hover-avatar {
  flex: 0 0 150px !important;
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

/* ============================================================
   SOS WELCOME TABLE STAFF IMAGE HEIGHT REPAIR
   Fixes Staff card/image height after desktop-lock patches.
   ============================================================ */

/* Staff cards should keep their intended tall arch shape */
.welcome__content--staff a.hover-avatar--staff {
  flex: 0 0 150px !important;
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;

  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;

  display: block !important;
  overflow: hidden !important;
}

/* Staff images should fill the whole card */
.welcome__content--staff a.hover-avatar--staff img {
  width: 150px !important;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;

  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* Hover state should still blur/enlarge without shrinking the card */
.welcome__content--staff a.hover-avatar--staff:hover img {
  width: 150px !important;
  height: 200px !important;
  transform: scale(1.4) !important;
}

/* ============================================================
   SOS TOP NAV DESKTOP LOCK
   Append-only patch.

   Purpose:
   Stops the top nav/member bar from switching into mobile
   column/wrap behavior at narrow widths or zoom.
   Desktop-preserving. No mobile stacking.
   ============================================================ */

/* Keep the fixed nav shell desktop-shaped */
.menuwrapper {
  overflow: visible !important;
}

/* Keep the whole topbar in one horizontal row */
.menuwrapper .wrapper.sos-topbar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  width: var(--sos-site-width) !important;
  min-width: var(--sos-site-width) !important;
  max-width: var(--sos-site-width) !important;

  padding: 14px 0 !important;
  margin: 0 auto !important;
}

/* Keep the main nav and member area from shrinking into stacks */
.sos-topbar__nav,
.sos-topbar__member {
  display: flex !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  align-items: center !important;
}

.sos-topbar__member {
  margin-left: 0 !important;
}

/* Main nav links stay in one row */
.sos-topbar__nav .menu,
.menuwrapper .menu,
ul.menu {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;

  width: auto !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}

.sos-topbar__nav .menu > li,
.menuwrapper .menu > li,
ul.menu > li {
  flex: 0 0 auto !important;
  float: none !important;
  white-space: nowrap !important;
}

/* Member bar stays in one row */
.sos-memberbar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  min-width: max-content !important;
  white-space: nowrap !important;
}

/* Member links stay in one row */
.sos-memberbar__links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  min-width: max-content !important;
  white-space: nowrap !important;
}

.sos-memberbar__links li {
  flex: 0 0 auto !important;
  float: none !important;
  white-space: nowrap !important;
}

.sos-memberbar__links a,
.sos-memberbar__welcome,
.sos-topbar__nav .menu a,
.menuwrapper .menu a,
ul.menu li a {
  white-space: nowrap !important;
}

/* Explicitly undo the old mobile column/wrap behavior */
@media (max-width: 1100px) {
  .menuwrapper .wrapper.sos-topbar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    padding: 14px 0 !important;
  }

  .sos-topbar__member {
    margin-left: 0 !important;
  }

  .sos-memberbar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  .sos-memberbar__links {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }

  .sos-memberbar__welcome {
    text-align: left !important;
  }

  .sos-topbar__nav .menu {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
  }
}

/* =========================================================
   HIDDEN CONTENT CATEGORY ONLY
   Category fid 61 / Custom Pages
   Compact no-image staff content boards
   ========================================================= */

/* Scope everything to the hidden Custom Pages category only */
#cat_61_e .sos-forum-card__imagewrap {
  width: 700px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: 6px !important;
}

/* Turn the empty no-image board panel into a compact description strip */
#cat_61_e .sos-board-image.no-image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  padding: 9px 12px !important;
  background: rgba(7, 19, 23, 0.68) !important;
  border: 1px solid rgba(163, 124, 84, 0.24) !important;
  border-radius: 7px !important;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.32) !important;
}

/* Make the description visible without needing a hover panel */
#cat_61_e .sos-board-image.no-image .sos-board-overlay {
  position: static !important;
  inset: auto !important;
  display: block !important;
  opacity: 1 !important;
  padding: 0 !important;
  background: transparent !important;
  transition: none !important;
}

/* Compact staff-board description text */
#cat_61_e .sos-board-image.no-image .sos-board-overlay__text {
  color: #8f9699 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: normal !important;
  text-shadow: none !important;
}

/* Keep the hidden duplicate description source hidden */
#cat_61_e .sos-board-desc-source {
  display: none !important;
}

/* Slightly tighten hidden-content cards now that the image panel is gone */
#cat_61_e .sos-forum-card {
  margin-bottom: 12px !important;
}

/* Make the counts a little less tower-like in this staff-only category */
#cat_61_e .sos-forum-count {
  min-height: 58px !important;
  padding: 6px !important;
}

#cat_61_e .sos-forum-count span {
  font-size: 18px !important;
}

#cat_61_e .sos-forum-count small {
  margin-top: 4px !important;
}

/* Keep latest-post text compact in this staff-only category */
#cat_61_e .sos-forum-card__latest {
  padding: 8px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

/* =========================================================
   HIDDEN CONTENT CATEGORY ONLY
   Second compacting pass: remove leftover image-space stretch
   ========================================================= */

/* Stop hidden staff cards from stretching the main area like public image boards */
#cat_61_e .sos-forum-card {
  align-items: flex-start !important;
  padding: 8px 10px !important;
  gap: 8px !important;
  min-height: 0 !important;
}

/* Let the left content area be only as tall as its title + description */
#cat_61_e .sos-forum-card__main {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}

/* Force the old image wrapper to stop behaving like a 700x200 image slot */
#cat_61_e .sos-forum-card__imagewrap {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  align-self: flex-start !important;
}

/* Force the no-image panel itself to be a small text strip */
#cat_61_e .sos-board-image.no-image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
}

/* Tighten the title box so the whole left side stops pretending it is a banner card */
#cat_61_e .sos-forum-card__heading {
  margin-bottom: 5px !important;
  padding: 5px 9px !important;
}

#cat_61_e .sos-forum-card__heading h3,
#cat_61_e .sos-forum-card__heading h3 a {
  font-size: 14px !important;
  line-height: 1.15 !important;
}

/* Make counts compact so they do not hold the card open too much */
#cat_61_e .sos-forum-card__counts {
  flex: 0 0 58px !important;
  width: 58px !important;
  min-width: 58px !important;
  display: grid !important;
  gap: 5px !important;
  align-self: flex-start !important;
}

#cat_61_e .sos-forum-count {
  min-height: 42px !important;
  padding: 5px !important;
}

#cat_61_e .sos-forum-count span {
  font-size: 13px !important;
  line-height: 1 !important;
}

#cat_61_e .sos-forum-count small {
  font-size: 7px !important;
  line-height: 1.1 !important;
}

/* Make latest-post area stop using tall public-card avatar proportions */
#cat_61_e .sos-forum-card__latest {
  flex: 0 0 105px !important;
  width: 105px !important;
  min-width: 105px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 6px !important;
  align-self: flex-start !important;
}

#cat_61_e .sos-forum-card__lastavatar,
#cat_61_e .sos-forumcard__lastavatar,
#cat_61_e .sos-lastavatar {
display: none !important;
  width: 14px !important;
  height: 30px !important;
  min-width: 14px !important;
  min-height: 30px !important;
  max-width: 14px !important;
  max-height: 30px !important;
  margin: 0 auto 4px auto !important;
  overflow: hidden !important;
  border-radius: 44px 44px 0 0 !important;
}

#cat_61_e .sos-forum-card__lastavatar img,
#cat_61_e .sos-forumcard__lastavatar img,
#cat_61_e .sos-lastavatar img {
display: none !important;
  width: 14px !important;
  height: 30px !important;
  min-width: 14px !important;
  min-height: 30px !important;
  max-width: 14px !important;
  max-height: 30px !important;
  object-fit: cover !important;
  border-radius: 44px 44px 0 0 !important;
}

/* Compress latest-post text */
#cat_61_e .sos-forum-card__lasttext,
#cat_61_e .sos-forum-card__lasttext p,
#cat_61_e .sos-forum-card__lasttext .small,
#cat_61_e .sos-forum-card__lasttext .text-muted {
  font-size: 8px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  text-align: center !important;
}

/* =========================================================
   HIDDEN CONTENT CATEGORY ONLY
   Transparent staff-board blending pass
   ========================================================= */

#cat_61_e .sos-forum-card,
#cat_61_e .sos-forum-card__main,
#cat_61_e .sos-forum-card__heading,
#cat_61_e .sos-forum-card__imagewrap,
#cat_61_e .sos-board-image.no-image,
#cat_61_e .sos-forum-card__counts,
#cat_61_e .sos-forum-count,
#cat_61_e .sos-forum-card__latest,
#cat_61_e .sos-forum-card__lasttext {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Keep a faint structure so the staff boards do not disappear entirely */
#cat_61_e .sos-forum-card {
  border-color: rgba(163, 124, 84, 0.26) !important;
}

#cat_61_e .sos-forum-card__heading,
#cat_61_e .sos-board-image.no-image,
#cat_61_e .sos-forum-count,
#cat_61_e .sos-forum-card__latest {
  border-color: rgba(163, 124, 84, 0.24) !important;
}

/* Make the description strip quieter */
#cat_61_e .sos-board-image.no-image .sos-board-overlay__text {
  color: rgba(212, 214, 214, 0.62) !important;
}

/* Whole category shell */
.card:has(#cat_61_e) {
  background:
    radial-gradient(circle at top center, rgba(163,124,84,.08), transparent 42%),
    rgba(7,19,23,.18) !important;
  border: 1px solid rgba(163,124,84,.16) !important;
  border-radius: 10px !important;
  box-shadow:
    inset 0 0 18px rgba(0,0,0,.28),
    0 0 14px rgba(0,0,0,.22);
  overflow: visible;
}

/* =========================================================
   TOP NAV RECENTER PATCH
   Keeps desktop row, recenters the full nav/memberbar group
   ========================================================= */

.menuwrapper .wrapper.sos-topbar {
  justify-content: center !important;
  gap: 10px !important;
}

.sos-topbar__nav,
.sos-topbar__member {
  flex: 0 0 auto !important;
}

.sos-topbar__member {
  margin-left: 0 !important;
}

.sos-topbar__nav .menu {
  justify-content: flex-start !important;
}

.sos-memberbar,
.sos-memberbar__links {
  justify-content: flex-start !important;
}

/* =========================================================
   NEW REPLY ACCOUNT SWITCHER / SUBMIT ALIGNMENT PATCH
   Keeps account selector functional and centers Post Reply
   when the action row wraps.
   ========================================================= */

.sos-newreply-form .sos-posting-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 12px !important;
}

.sos-newreply-form .sos-as-postswitch-test {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.sos-newreply-form .sos-posting-submit {
  flex: 0 0 auto !important;
}

/* When Post Reply wraps to its own line, center it instead of leaving it stranded left. */
.sos-newreply-form .sos-posting-actions > .sos-posting-submit {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Give the submit button a little breathing room if it lands on a second row. */
.sos-newreply-form .sos-posting-actions::after {
  content: "";
  flex-basis: 100%;
  height: 0;
  order: 98;
}

.sos-newreply-form .sos-posting-submit {
  order: 99 !important;
  margin-top: 2px !important;
}

/* =========================================================
   POSTBIT PROFILE CARD HEADING POLISH RESTORE
   Centers and restyles Profile / Vitals / Bio / Abilities
   ========================================================= */

.sos-post__bar .mp-card {
  text-align: center !important;
}

.sos-post__bar .mp-card h4 {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;

  border-bottom: 1px solid rgba(163,124,84,.35) !important;

  color: #987651 !important;
  font-family: var(--sos-font, "IM Fell English", Georgia, serif) !important;
  font-size: 1rem !important;
  font-style: italic !important;
  font-weight: normal !important;
  letter-spacing: .05em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: none !important;
  text-shadow: 0 0 8px rgba(0,0,0,.45) !important;
}

.sos-post__bar .mp-pill {
  text-align: center !important;
}

.sos-post__bar .mp-pill .label,
.sos-post__bar .mp-pill .value {
  text-align: center !important;
}

/* =========================================================
   ONLINE TODAY / FOOTER LEDGER
   Clean custom ledger card
   ========================================================= */

.sos-online-today-card {
  display: block !important;
  width: 100% !important;
  margin: 12px auto 0 !important;
  padding: 12px 16px 14px !important;
  background: rgba(5, 11, 15, 0.42) !important;
  border: 1px solid rgba(163, 124, 84, 0.22) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
}

.sos-online-today-card__head {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin: 0 0 6px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(163, 124, 84, 0.18) !important;
  text-align: center !important;
}

.sos-online-today-card__title {
  color: var(--sos-brass) !important;
  font-size: 1.02rem !important;
  font-weight: normal !important;
  letter-spacing: 0.09em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.sos-online-today-card__link {
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  text-shadow: none !important;
}

.sos-online-today-card__link a {
  color: var(--sos-link) !important;
  text-shadow: none !important;
}

.sos-online-today-card__link a:hover {
  color: var(--sos-link-hover) !important;
}

.sos-online-today-card__body,
.sos-online-today-card__body .smalltext {
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--sos-text) !important;
  font-size: 0.98rem !important;
  line-height: 1.8 !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
}

.sos-online-today-card__body br {
  display: block !important;
  margin-bottom: 4px !important;
  content: "" !important;
}

.sos-online-today-card .avatarep_online_row {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

.sos-online-today-card .avatarep_online_row > span:first-child,
.sos-online-today-card .avatarep_online_row img,
.sos-online-today-card .avatarep_online_row .avatarep_image,
.sos-online-today-card .avatarep_online_row .ot_online,
.sos-online-today-card .avatarep_online_row .ot_offline {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sos-online-today-card .avatarep_span {
  color: inherit !important;
  display: inline !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  text-shadow: none;
}

.sos-online-today-card .avatarep_span a,
.sos-online-today-card .avatarep_span a span,
.sos-online-today-card .avatarep_span strong,
.sos-online-today-card .avatarep_span em {
  display: inline !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

.sos-online-today-card  .avatarep_span:hover {
  color: var(--sos-link-hover) !important;
}

.sos-online-today-card .avatarep_online_row:not(:last-child)::after {
  content: " • ";
  margin: 0 6px !important;
}

/*==================
POST TEMPLATE SAY CLASS
==================*/

.sos-post-template .sos-say {
  color: var(--sos-speech-color, inherit);
}

/*==================
USER GROUP STYLING
=======================*/

.sos-ug {
  font-weight: 400;
  text-shadow: 1px 1px 4px #000, 0 0 5px #000;
}

.sos-ug-member { color: #e7e3ad; }
.sos-ug-inactive { color: #adac9d; }
.sos-ug-adminnpc { color: #d4d7db; }
.sos-ug-human { color: #648fa0; }
.sos-ug-bonded { color: #a57f4e; }
.sos-ug-shifter { color: #779687; }
.sos-ug-variant { color: #925873; }
.sos-ug-registered { color: #768389; }

.sos-ug-dead {
  color: #454545;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.sos-ug-deity {
  color: #ffffff;
  font-family: "Cinzel Decorative", "Cinzel", serif;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 1px 1px 2px #000;
}

.avatarep_online_row .avatarep_span .sos-ug-deity {
   font-size: 12px !important;
}

/*==============
WULFRIC NAME STYLE
==============*/

a[href$="user-16.html"] .sos-ug,
a[href*="/user-16.html"] .sos-ug {
text-shadow:
    0px 0px 5px,
    0px 0px 8px !important;
}

/*==============
GURVAND NAME STYLE
==============*/

a[href$="user-21.html"] .sos-ug,
a[href*="/user-21.html"] .sos-ug {
text-shadow:
    0px 0px 5px,
    0px 0px 8px !important;
}


/* =========================================================
   RANDOM ENCOUNTER AUTO-POST TEMPLATE
   Only affects plugin-generated random event wrappers
   ========================================================= */

.sos-random-event {
  max-width: 700px;
  margin: 0 auto;
  padding: 18px;
  background:
    linear-gradient(to bottom, rgba(5,11,15,.36), rgba(5,11,15,.60)),
    url(https://i.ibb.co/WvnP5C6L/jd9Pxwk.jpg) center center / cover no-repeat;
  background-attachment: fixed;
  border: 2px solid #A37C54;
  box-shadow:
    0 0 25px rgba(0,0,0,.8),
    inset 0 0 12px rgba(0,0,0,.6);
  color: #d7c3a4;
  font-family: IM Fell English;
  line-height: 1.55;
  text-align: center;
  box-sizing: border-box;
}

.sos-random-event__inner {
  padding: 16px;
  background: rgba(7,19,23,.40);
  border: 1px solid rgba(163,124,84,.60);
  box-sizing: border-box;
}

.sos-random-event__title {
  margin: 0 0 14px;
  color: #A37C54;
  text-align: center;
  font-family: IM Fell English;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-shadow: 0 0 4px #000;
}

.sos-random-event__body {
  margin: 0;
  padding: 12px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(163,124,84,.50);
  border-radius: 6px;
  color: #cbb79b;
  font-family: IM Fell English;
  font-size: 1rem;
  line-height: 1.65;
  text-align: center;
  box-sizing: border-box;
}

.sos-random-event__body p:first-child {
  margin-top: 0;
}

.sos-random-event__body p:last-child {
  margin-bottom: 0;
}

.sos-random-event__body a {
  color: #d8c0a6 !important;
  text-decoration: underline !important;
}

.sos-random-event__body a:hover {
  color: #f1dfc8 !important;
}

/* Plot thread prefix
   Used to mark threads protected from automatic Random Encounters. */

.sos-prefix-plot {
  --prefix-color: #b8a07f;
  background:
    linear-gradient(to bottom, rgba(7,19,23,.92), rgba(7,19,23,.78)) !important;
  border-color: rgba(184,160,127,.75) !important;
  color: #b8a07f !important;
  box-shadow:
    0 0 6px rgba(184,160,127,.22),
    inset 0 0 5px rgba(0,0,0,.45) !important;
  opacity: .78 !important;
}

