/* ─── Xenoware palette ──────────────────────────────────────────────────── */
:root {
  --xw-bg:        #08080A;
  --xw-ink:       #101013;
  --xw-panel:     #131316;
  --xw-panel-hi:  #1F1F23;
  --xw-accent:    #B48CF0;
  --xw-accent-22: rgba(180,140,240,0.13);
  --xw-accent-33: rgba(180,140,240,0.20);
  --xw-accent-40: rgba(180,140,240,0.25);
  --xw-accent-50: rgba(180,140,240,0.50);
  --xw-text:      #E6E6E6;
  --xw-dim:       #8E8E96;
  --xw-border:    rgba(180,140,240,0.20);
  --xw-green:     #5BE876;
  --xw-red:       #FF5C5C;
}

body {
  background: var(--xw-bg);
  color: var(--xw-text);
  text-align: center;
  line-height: 1.4;
  margin: 0;
  font-family: "Segoe UI", -apple-system, Tahoma, Verdana, sans-serif;
  font-size: 13px;
  overflow-y: scroll;
}

a:link, a:visited { color: var(--xw-accent); text-decoration: none; }
a:hover, a:active { color: var(--xw-text); text-decoration: underline; }

#container {
  background: var(--xw-ink);
  color: var(--xw-text);
  text-align: left;
  line-height: 1.4;
  margin: 0;
  font-family: "Segoe UI", -apple-system, Tahoma, Verdana, sans-serif;
  font-size: 13px;
  min-width: 990px;
}

.wrapper {
  width: 85%;
  min-width: 970px;
  max-width: 1500px;
  margin: auto auto;
}

#logo {
  background: linear-gradient(180deg, var(--xw-panel-hi), var(--xw-panel));
  padding: 14px 0;
  border-bottom: 1px solid var(--xw-border);
}

#content {
  background: var(--xw-ink);
  width: auto !important;
  padding: 20px 10px;
  overflow: hidden;
}

#search { border: 0; padding: 0; margin: 0; float: right; vertical-align: middle; }
#search input.button, #search input.textbox { border-color: var(--xw-accent-40); }
#search input.button { background: var(--xw-accent-22); color: var(--xw-text); }
#search input { margin: -3px 0; }

#quick_login .remember_me input { vertical-align: middle; margin: -3px 0 0 5px; }

#footer { clear: both; }
#footer ul.menu { margin: 0; padding: 0; list-style: none; }
#footer ul.menu li { margin: 0 5px; display: inline; }
#footer .upper {
  background: transparent;
  border-top: 1px solid var(--xw-border);
  border-bottom: 1px solid var(--xw-border);
  padding: 6px;
  font-size: 12px;
  overflow: hidden;
  color: var(--xw-dim);
}
#footer a:link, #footer a:visited, #footer a:hover, #footer a:active { color: var(--xw-dim); }
#footer .upper .language, #footer .upper .theme { float: right; margin: -1px; margin-left: 15px; }
#footer .upper .language select, #footer .upper .theme select { border-color: var(--xw-accent-40); }
#footer .upper ul.bottom_links { float: left; margin: 4px 0 0 0; }
#footer .lower {
  color: var(--xw-dim);
  padding: 6px 6px 12px 6px;
  overflow: hidden;
  font-size: 11px;
}
#footer .lower a:link, #footer .lower a:visited { color: var(--xw-dim); font-weight: bold; }
#footer .lower a:hover, #footer .lower a:active { color: var(--xw-accent); text-decoration: underline; font-weight: bold; }
#footer .lower #current_time { float: right; color: var(--xw-dim); }

#debug { float: right; text-align: right; margin-top: 20px; font-size: 11px; color: var(--xw-dim); }

.scaleimages img { max-width: 100%; }

.forum_status {
  height: 30px; width: 30px;
  background: url(../../../images/forum_icon_sprite.png) no-repeat 0 0;
  display: inline-block;
}
.forum_on        { background-position: 0 0; }
.forum_off       { background-position: 0 -30px; }
.forum_offclose  { background-position: 0 -60px; }
.forum_offlink   { background-position: 0 -90px; }

.subforumicon {
  height: 10px; width: 10px;
  display: inline-block;
  margin: 0 5px;
  background: url(../../../images/mini_status_sprite.png) no-repeat 0 0;
}
.subforum_minion        { background-position: 0 0; }
.subforum_minioff       { background-position: 0 -10px; }
.subforum_minioffclose  { background-position: 0 -20px; }
.subforum_miniofflink   { background-position: 0 -30px; }

table { color: var(--xw-text); font-size: 13px; }

.tborder {
  background: var(--xw-accent-33);
  width: 100%;
  margin: auto auto;
  border: 1px solid var(--xw-accent-33);
  padding: 1px;
}

.tfixed { table-layout: fixed; word-wrap: break-word; }

.thead {
  background: var(--xw-panel-hi);
  color: var(--xw-accent);
  border-bottom: 1px solid var(--xw-border);
  padding: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
}
.thead a:link, .thead a:visited { color: var(--xw-accent); text-decoration: none; }
.thead a:hover, .thead a:active { color: var(--xw-text); text-decoration: underline; }

.tcat {
  background: var(--xw-panel);
  color: var(--xw-dim);
  border-top: 1px solid var(--xw-border);
  border-bottom: 1px solid var(--xw-border);
  padding: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.tcat a:link, .tcat a:visited, .tcat a:hover, .tcat a:active { color: var(--xw-text); }

.trow1 {
  background: var(--xw-panel);
  border: 1px solid var(--xw-border);
  color: var(--xw-text);
}
.trow2 {
  background: var(--xw-panel-hi);
  border: 1px solid var(--xw-border);
  color: var(--xw-text);
}

.trow_shaded   { background: #3a1b1b; border: 1px solid var(--xw-red); }
.no_bottom_border { border-bottom: 0; }
.post.unapproved_post { background: #3a1b1b; }
.thread_start_datetime { color: var(--xw-dim); }
.post.unapproved_post .post_author    { border-bottom-color: var(--xw-red); }
.post.classic.unapproved_post .post_author { border-color: var(--xw-red); }
.post.unapproved_post .post_controls  { border-top-color: var(--xw-red); }

.trow_deleted, .post.deleted_post { background: #2a1e3d; }

.trow_selected, tr.trow_selected td {
  background: var(--xw-accent-22);
  color: var(--xw-text);
  border-right-color: var(--xw-accent-50);
  border-bottom-color: var(--xw-accent-50);
}
.trow_selected a:link, .trow_selected a:visited,
.trow_selected a:hover, .trow_selected a:active { color: var(--xw-accent); }

.trow_sep {
  background: var(--xw-panel-hi);
  color: var(--xw-accent);
  border-bottom: 1px solid var(--xw-border);
  padding: 6px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.tfoot {
  border-top: 1px solid var(--xw-border);
  padding: 6px;
  background: var(--xw-panel);
  color: var(--xw-dim);
}
.tfoot a:link, .tfoot a:visited { color: var(--xw-accent); text-decoration: none; }
.tfoot a:hover, .tfoot a:active { color: var(--xw-text); text-decoration: underline; }

.thead input.textbox, .thead select { border: 1px solid var(--xw-accent-40); }

.bottommenu {
  background: var(--xw-panel-hi);
  color: var(--xw-text);
  border: 1px solid var(--xw-border);
  padding: 10px;
}

.navigation { color: var(--xw-dim); font-size: 12px; }
.navigation a:link, .navigation a:visited { text-decoration: none; }
.navigation a:hover, .navigation a:active { text-decoration: underline; }
.navigation .active { color: var(--xw-text); font-size: small; font-weight: bold; }

.smalltext { font-size: 11px; }
.largetext { font-size: 16px; font-weight: bold; }

fieldset {
  padding: 12px;
  border: 1px solid var(--xw-border);
  margin: 0;
  background: var(--xw-panel);
}
fieldset.trow1, fieldset.trow2 { border-color: var(--xw-border); }
fieldset.align_right { text-align: right; }

input.textbox {
  background: rgba(34,32,40,0.5);
  color: var(--xw-text);
  border: 1px solid var(--xw-accent-40);
  border-radius: 5px;
  padding: 6px 10px;
  outline: 0;
  font-size: 13px;
  font-family: Consolas, monospace;
}
input.textbox.portal_search { width: 68%; }

textarea {
  background: rgba(34,32,40,0.5);
  color: var(--xw-text);
  border: 1px solid var(--xw-accent-40);
  border-radius: 5px;
  padding: 8px 10px;
  line-height: 1.4;
  outline: 0;
  font-family: Consolas, monospace;
  font-size: 13px;
}

select {
  background: rgba(34,32,40,0.5);
  color: var(--xw-text);
  padding: 6px 10px;
  border: 1px solid var(--xw-accent-40);
  border-radius: 5px;
  outline: 0;
  font-family: Consolas, monospace;
  font-size: 13px;
}

button, input.button {
  padding: 7px 18px;
  cursor: pointer;
  font-family: "Segoe UI", -apple-system, sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--xw-accent-22);
  border: 1px solid var(--xw-accent-50);
  color: var(--xw-text);
  border-radius: 5px;
  outline: 0;
  transition: background 120ms;
}
button:hover, input.button:hover { background: rgba(180,140,240,0.27); border-color: var(--xw-accent); }

form { margin: 0; padding: 0; }

input.error, textarea.error, select.error { border: 1px solid var(--xw-red); color: var(--xw-red); }
input.valid, textarea.valid, select.valid { border: 1px solid var(--xw-green); }
label.error { color: var(--xw-red); margin: 5px; padding: 0px; display: block; font-weight: bold; font-size: 11px; }

form #message { width: 500px; }

.editor { background: var(--xw-panel-hi); border: 1px solid var(--xw-border); }
.editor_control_bar { background: var(--xw-panel); border: 1px solid var(--xw-border); }
.post .editor_control_bar { background: var(--xw-panel-hi); }

.popup_menu {
  background: var(--xw-panel);
  border: 1px solid var(--xw-border);
}
.popup_menu .popup_item { background: var(--xw-panel-hi); color: var(--xw-text); }
.popup_menu .popup_item:hover { background: var(--xw-accent-22); color: var(--xw-accent); }

.trow_reputation_positive { background: #1d3a1d; }
.trow_reputation_negative { background: #3a1b1b; }
.reputation_positive { color: var(--xw-green); }
.reputation_neutral  { color: var(--xw-dim); }
.reputation_negative { color: var(--xw-red); }

.repbox { font-size: 16px; font-weight: bold; padding: 5px 7px 5px 7px; border-radius: 4px; }
._neutral { background-color: var(--xw-panel-hi); color: var(--xw-dim); border: 1px solid var(--xw-border); }
._minus   { background-color: #3a1b1b; color: var(--xw-red); border: 1px solid var(--xw-red); }
._plus    { background-color: #1d3a1d; color: var(--xw-green); border: 1px solid var(--xw-green); }

img { border: none; }
img.attachment { border: 1px solid var(--xw-border); padding: 2px; background: var(--xw-panel); }

hr { background-color: var(--xw-border); color: var(--xw-border); height: 1px; border: 0px; }

.clear { clear: both; }
.float_left { float: left; }
.float_right { float: right; }
.hidden { display: none; float: none; width: 1%; }
.hiddenrow { display: none; }

.selectall {
  background: var(--xw-accent-22);
  border-bottom: 1px solid var(--xw-accent-50);
  color: var(--xw-text);
  text-align: center;
}

.expcolimage { float: right; width: auto; vertical-align: middle; margin-top: 3px; }
.expcolimage img { filter: invert(70%) sepia(40%) saturate(700%) hue-rotate(220deg); }
.tcat_menu > .expcolimage { margin-top: 0; }

blockquote {
  border: 1px solid var(--xw-border);
  margin: 0;
  background: var(--xw-panel-hi);
  padding: 10px;
  border-radius: 5px;
}
blockquote cite {
  font-weight: bold;
  border-bottom: 1px solid var(--xw-border);
  font-style: normal;
  display: block;
  padding-bottom: 3px;
  margin: 0 0 10px 0;
  color: var(--xw-accent);
}
blockquote cite > span { float: right; font-weight: normal; font-size: 12px; color: var(--xw-dim); }
blockquote cite span.highlight { float: none; font-weight: bold; padding-bottom: 0; }

.codeblock {
  background: var(--xw-panel-hi);
  border: 1px solid var(--xw-border);
  padding: 10px;
  border-radius: 5px;
}
.codeblock .title {
  border-bottom: 1px solid var(--xw-border);
  font-weight: bold;
  padding-bottom: 3px;
  margin: 0 0 10px 0;
  color: var(--xw-accent);
}
.codeblock code {
  overflow: auto;
  height: auto;
  max-height: 200px;
  display: block;
  font-family: Consolas, Monaco, Courier, monospace;
  font-size: 13px;
  color: var(--xw-text);
}

.smilie { vertical-align: middle; }
.smilie_pointer { cursor: pointer; }

.separator { margin: 5px; padding: 0; height: 0px; font-size: 1px; list-style-type: none; }

.popup_menu .popup_item_container { margin: 1px; text-align: left; }
.popup_menu .popup_item {
  display: block;
  padding: 4px;
  white-space: nowrap;
  text-decoration: none;
}
.popup_menu a.popup_item:hover { text-decoration: none; }

.subject_new { font-weight: bold; color: var(--xw-accent); }

.highlight { background: var(--xw-accent-22); padding-top: 3px; padding-bottom: 3px; color: var(--xw-text); }

.pm_alert {
  background: #3a3018;
  border: 1px solid #c4a14b;
  color: #e6c97a;
  text-align: center;
  padding: 5px 20px;
  margin-bottom: 15px;
  font-size: 11px;
}

.red_alert {
  background: #3a1b1b;
  border: 1px solid var(--xw-red);
  color: var(--xw-red);
  text-align: center;
  padding: 5px 20px;
  margin-bottom: 15px;
  font-size: 11px;
  word-wrap: break-word;
}
.red_alert a:link, .red_alert a:visited, .red_alert a:hover, .red_alert a:active { color: var(--xw-red); }

.high_warning      { color: var(--xw-red); }
.moderate_warning  { color: #F3611B; }
.low_warning       { color: #c4a14b; }
.imminent_banned   { color: #880000; }
.high_banned       { color: var(--xw-red); }
.moderate_banned   { color: #FF6600; }
.low_banned        { color: var(--xw-green); }
.online            { color: var(--xw-green); }
.offline           { color: var(--xw-dim); }

div.error {
  padding: 5px 10px;
  border: 2px solid #c4a14b;
  background: #3a3018;
  font-size: 12px;
  color: #e6c97a;
}
div.error p { margin: 0; color: var(--xw-text); font-weight: normal; }
div.error p em {
  font-style: normal;
  font-weight: bold;
  padding-left: 24px;
  display: block;
  color: var(--xw-red);
  background: url(../../../images/error.png) no-repeat 0;
}
div.error ul { margin-left: 24px; }

.pagination { font-size: 11px; padding-top: 10px; margin-bottom: 5px; }
.tfoot .pagination, .tcat .pagination { padding-top: 0; }
.pagination .pages { font-weight: bold; }
.pagination .pagination_current, .pagination a { padding: 3px 6px; margin-bottom: 3px; }
.pagination a {
  background: var(--xw-panel);
  border: 1px solid var(--xw-border);
  color: var(--xw-text);
  border-radius: 3px;
}
.pagination .pagination_current {
  background: var(--xw-accent-22);
  color: var(--xw-accent);
  border: 1px solid var(--xw-accent-50);
  font-weight: bold;
  border-radius: 3px;
}
.pagination a:hover {
  background: var(--xw-accent-22);
  color: var(--xw-accent);
  border-color: var(--xw-accent);
  text-decoration: none;
}
.pagination .go_page img { margin-bottom: -4px; }

.drop_go_page { background: var(--xw-panel-hi); padding: 4px; }
.pagination_breadcrumb {
  background-color: var(--xw-panel-hi);
  border: 1px solid var(--xw-border);
  padding: 5px;
  margin-top: 5px;
  font-weight: normal;
}
.pagination_breadcrumb_link { vertical-align: middle; cursor: pointer; }

.thread_legend, .thread_legend dd { margin: 0; padding: 0; }
.thread_legend dd { padding-bottom: 4px; margin-right: 15px; }
.thread_legend img { margin-right: 4px; vertical-align: bottom; }
.forum_legend, .forum_legend dt, .forum_legend dd { margin: 0; padding: 0; }
.forum_legend dd { float: left; margin-right: 10px; margin-top: 7px; }
.forum_legend dt { margin-right: 10px; float: left; }

.success_message { color: var(--xw-green); font-weight: bold; font-size: 10px; margin-bottom: 10px; }
.error_message   { color: var(--xw-red);   font-weight: bold; font-size: 10px; margin-bottom: 10px; }

#posts_container { padding: 0; }

.post { overflow: hidden; }
.post.classic { padding-top: 15px; }

.post .post_author {
  border-bottom: 1px solid var(--xw-border);
  border-top: 2px solid var(--xw-border);
  background: var(--xw-panel-hi);
  padding: 5px;
  overflow: hidden;
}
.post.classic .post_author {
  border: 1px solid var(--xw-border);
  float: left;
  width: 15%;
  margin: 0 1% 15px 0;
  border-left: 0;
  padding: 5px 1%;
  background: var(--xw-panel-hi);
}

.post .post_author .buddy_status { vertical-align: middle; margin-top: -4px; }
.post .post_author div.author_avatar { float: left; margin-right: 3px; }
.post.classic .post_author div.author_avatar { float: none; text-align: center; margin-bottom: 8px; }
.post .post_author div.author_avatar img {
  padding: 5px;
  border: 1px solid var(--xw-border);
  background: var(--xw-panel);
}
.post .post_author div.author_information { float: left; padding: 6px 8px; }
.post.classic .post_author div.author_information { float: none; padding: 0; text-align: center; }
.post .post_author div.author_statistics {
  float: right;
  font-size: 11px;
  padding: 3px 10px 3px 5px;
  color: var(--xw-dim);
  line-height: 1.3;
}
.post.classic .post_author div.author_statistics {
  border-top: 1px dotted var(--xw-border);
  margin: 6px 0 0 0;
  padding: 6px 6px 3px 6px;
  float: none;
}

.post .post_head {
  font-size: 11px;
  padding-bottom: 4px;
  border-bottom: 1px dotted var(--xw-border);
  margin-bottom: 4px;
  background: var(--xw-panel);
}
.post .post_head span.post_date { color: var(--xw-dim); }
.post .post_head span.edited_post { font-size: 10px; color: var(--xw-dim); }
.post .post_head span.edited_post a { color: var(--xw-dim); }

.post_body { font-size: 14px; padding: 12px 0; color: var(--xw-text); }
.post.classic .post_content { float: left; width: 79%; padding: 0 1% 5px 1%; background: var(--xw-panel); }
.post_content { padding: 9px 10px 5px 10px; background: var(--xw-panel); }
.post_content .signature {
  margin-top: 5px;
  border-top: 1px dotted var(--xw-border);
  padding: 10px 0 4px 0;
  color: var(--xw-dim);
}

.post .post_meta { margin: 4px 0; font-size: 11px; color: var(--xw-dim); }
.post .post_meta a:link, .post .post_meta a:visited,
.post .post_meta a:hover, .post .post_meta a:active { color: var(--xw-dim); }

.post_controls {
  clear: both;
  background: var(--xw-panel-hi);
  border-bottom: 1px solid var(--xw-border);
  padding: 5px;
  overflow: hidden;
}

a.button:link, a.button:hover, a.button:visited, a.button:active {
  background: var(--xw-accent-22);
  color: var(--xw-text);
  display: inline-block;
  padding: 6px 14px;
  margin: 2px 2px 6px 2px;
  border: 1px solid var(--xw-accent-50);
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
a.button:hover { background: rgba(180,140,240,0.27); border-color: var(--xw-accent); text-decoration: none; }

a.button.small_button { font-size: 11px; margin: 0; padding: 4px 10px; }

.pollbar {
  background: var(--xw-accent-22);
  border: 1px solid var(--xw-accent-50);
  height: 10px;
  border-radius: 3px;
}
.pollbar .percent { display: none; }
.poll_votedfor { background: var(--xw-panel-hi); border: 1px solid var(--xw-border); }

.posticons_label { white-space: nowrap; }

/* ─── SSO sign-in bar ───────────────────────────────────── */
.xw_auth_bar {
  display: flex;
  justify-content: center;
  padding: 14px 0;
}
.xw_auth_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 22px;
  background: var(--xw-accent-22) !important;
  border: 1px solid var(--xw-accent-50);
  color: var(--xw-accent) !important;
  text-decoration: none !important;
  font-family: "Segoe UI", -apple-system, sans-serif;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 6px;
  transition: background 120ms, border-color 120ms, transform 120ms;
}
.xw_auth_btn:hover {
  background: rgba(180,140,240,0.22) !important;
  border-color: var(--xw-accent);
  color: var(--xw-text) !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}
.xw_auth_arrow {
  font-family: Consolas, monospace;
  font-size: 14px;
  color: var(--xw-dim);
  transition: transform 120ms, color 120ms;
}
.xw_auth_btn:hover .xw_auth_arrow {
  color: var(--xw-accent);
  transform: translateX(3px);
}

/* ─── Search bar / button polish ────────────────────────── */
#search, #panel #search, .search_box {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  float: none !important;
  background: var(--xw-panel) !important;
  border: 1px solid var(--xw-border) !important;
  border-radius: 6px !important;
  padding: 4px 4px 4px 10px !important;
}
#search input.textbox,
#search input[type="text"] {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 4px 6px !important;
  font-family: Consolas, monospace !important;
  font-size: 12px !important;
  color: var(--xw-text) !important;
  min-width: 180px;
  margin: 0 !important;
}
#search input.textbox::placeholder { color: var(--xw-dim); }
#search input.button {
  background: var(--xw-accent-22) !important;
  border: 1px solid var(--xw-accent-50) !important;
  color: var(--xw-accent) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  margin: 0 !important;
}
#search input.button:hover {
  background: rgba(180,140,240,0.27) !important;
  color: var(--xw-text) !important;
  border-color: var(--xw-accent) !important;
}
