/* ════════════════════════════════════════════════════════════
   OFFPKT v4 — V3rm structure, bubbly finish · MyBB 1.8.40
   Centered logo → flat main nav (red underline, boxed user
   icons right) → board strip → welcome panel (boxed links) →
   category tabs → breadcrumb → rounded panels w/ red banners.
   Font note: JetBrains Mono renders if installed locally; to
   self-host, put the woff2 in /var/www/offpkt/fonts/ and add
   an @font-face block here.
   ════════════════════════════════════════════════════════════ */

/* ── BASE ────────────────────────────────────────────────── */
body {
	background: #0d0d0d;
	color: #d0d0d0;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace;
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	text-align: center;
}

a:link, a:visited { color: #c0392b; text-decoration: none; }
a:hover, a:active { color: #e74c3c; text-decoration: none; }

#container {
	background: #0d0d0d;
	color: #d0d0d0;
	margin: 0 auto;
	text-align: left;
}

#content {
	background: #0d0d0d;
	width: auto;
	padding: 0 10px;
	overflow: hidden;
	/* faint $_ watermark behind the forum tables */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='520'%3E%3Ctext x='50%25' y='58%25' font-family='Courier New, monospace' font-size='340' font-weight='bold' fill='%23ffffff' fill-opacity='0.025' text-anchor='middle'%3E%24_%3C/text%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center 300px;
}

.wrapper {
	width: 85%;
	min-width: 970px;
	max-width: 1500px;
	margin: auto;
}

/* ── CENTERED LOGO ───────────────────────────────────────── */
#header { background: #0d0d0d; padding: 0; }

#logo {
	background: #0d0d0d;
	text-align: center;
	padding: 18px 0 12px;
}

#logo .wrapper { text-align: center; }
#logo img { max-height: 110px; vertical-align: middle; }

/* ── MAIN NAV BAR (flat v3rm tabs — unchanged) ───────────── */
#main_nav {
	background: #111111;
	border-top: 1px solid #1c1c1c;
	border-bottom: 2px solid #c0392b;
}

#main_nav .nav_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#main_nav ul.top_links {
	display: flex;
	align-items: stretch;
	float: none;
	margin: 0;
}

#main_nav ul.top_links li {
	display: block;
	margin: 0;
}

#main_nav ul.top_links li a {
	display: block;
	color: #e8e8e8;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 11px 17px;
	border-left: 3px solid transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transition: background .1s, border-color .1s;
}

#main_nav ul.top_links li a:hover,
#main_nav ul.top_links li a.nav_active {
	background: #c0392b;
	border-left: 3px solid #7e2317;
	color: #ffffff;
	text-decoration: none;
}

/* small icon glyphs, v3rm-style */
#main_nav a.home::before        { content: "\2302"; margin-right: 7px; }
#main_nav a.portal::before      { content: "\25C8"; margin-right: 7px; }
#main_nav a.search::before      { content: "\2315"; margin-right: 7px; }
#main_nav a.memberlist::before  { content: "\2261"; margin-right: 7px; }
#main_nav a.calendar::before    { content: "\25A6"; margin-right: 7px; }
#main_nav a.help::before        { content: "?";     margin-right: 7px; }

/* ── USER / UTILITY ICONS (boxed, far right) ─────────────── */
#nav_user {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 4px;
}

#nav_user .nav_username,
#nav_user .nav_icon {
	display: block;
	background: linear-gradient(180deg, #1d1d1d, #131313);
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 5px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 1px 3px rgba(0,0,0,0.5);
	transition: border-color .15s, color .15s, box-shadow .15s;
}

#nav_user .nav_username {
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 7px 13px;
}

#nav_user .nav_icon {
	color: #c8c8c8;
	font-size: 14px;
	padding: 7px 10px;
	line-height: 1.2;
}

#nav_user .nav_username:hover,
#nav_user .nav_icon:hover {
	color: #ffffff;
	border-color: rgba(255,255,255,0.7);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 0 8px rgba(255,255,255,0.12);
	text-decoration: none;
}

/* ── BOARD STRIP ─────────────────────────────────────────── */
#board_strip {
	background: #0d0d0d;
	border-top: 1px solid #c0392b;
	border-bottom: 1px solid #181818;
	padding: 9px 0;
}

#board_strip .wrapper {
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* ── WELCOME PANEL (boxed clickable links) ───────────────── */
#panel {
	background: linear-gradient(180deg, #161616, #101010);
	border-bottom: 1px solid #181818;
	color: #888;
	font-size: 11px;
}

#panel .upper { background: transparent; padding: 9px 0; }

#panel .lower {
	background: #0e0e0e;
	border-top: 1px solid #161616;
	color: #555;
	padding: 8px 0;
}

#panel .welcome strong, #panel b { color: #d0d0d0; }

#panel .upper a {
	color: #c8c8c8;
	padding: 2px 7px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 4px;
	background: #161616;
}

#panel .upper a:hover {
	color: #ffffff;
	border-color: rgba(255,255,255,0.55);
	text-decoration: none;
}

#panel ul.menu { margin: 4px 0; padding: 0; }

#panel ul.menu li {
	display: inline-block;
	margin: 3px 8px 3px 0;
}

#panel ul.menu li a {
	display: inline-block;
	color: #c8c8c8;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 6px 13px;
	background: linear-gradient(180deg, #1d1d1d, #131313);
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 5px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 1px 3px rgba(0,0,0,0.5);
	transition: border-color .15s, color .15s, box-shadow .15s;
}

#panel ul.menu li a:hover {
	color: #ffffff;
	border-color: rgba(255,255,255,0.7);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 0 8px rgba(255,255,255,0.12);
	text-decoration: none;
}

/* ── QUICK SEARCH (toned down) ───────────────────────────── */
#search {
	float: right;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	display: flex;
	align-items: center;
	gap: 6px;
}

#search input { outline: 0; }

#search input.textbox {
	background: #151515;
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	color: #d0d0d0;
	padding: 6px 10px;
	width: 180px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.6);
}

#search input.textbox:focus { border-color: #c0392b; }

#search input.button { margin: 0; }

#quick_search_default, .search_default { color: #555; }

#usercpbar a, #userbar a { color: #888; }
#usercpbar a:hover, #userbar a:hover { color: #c0392b; }

/* ── CATEGORY NAV TABS (restored, bubbly) ────────────────── */
#cat_nav {
	background: linear-gradient(180deg, #141414, #0f0f0f);
	border: 1px solid #1e1e1e;
	border-radius: 7px;
	display: flex;
	align-items: center;
	padding: 8px 10px;
	gap: 7px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

#cat_nav .cat_tab {
	display: inline-block;
	padding: 8px 15px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #c0392b;
	border: 1px solid #c0392b;
	border-radius: 6px;
	background: linear-gradient(180deg, #221010, #170a0a);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, color .15s, box-shadow .15s;
}

#cat_nav .cat_tab:hover {
	background: linear-gradient(180deg, #d4453a, #b03427);
	color: #ffffff;
	box-shadow: 0 0 10px rgba(192,57,43,0.35);
	text-decoration: none;
}

/* ── BREADCRUMB (slim, rounded) ──────────────────────────── */
.navigation {
	display: block;
	background: #101010;
	border: 1px solid #1c1c1c;
	border-radius: 6px;
	color: #555;
	font-size: 11px;
	padding: 7px 12px;
	margin-bottom: 12px;
}

.navigation a:link, .navigation a:visited { color: #999; }
.navigation a:hover { color: #c0392b; text-decoration: none; }
.navigation .active { color: #ffffff; font-weight: 600; }
.navigation .sep { color: #c0392b; padding: 0 3px; }

/* ── TOOLS DROPDOWN (in main nav) ────────────────────────── */
#nav_tools { position: relative; }

#tools_trigger { cursor: pointer; user-select: none; }

#tools_caret {
	font-size: 0.75em;
	margin-left: 6px;
	display: inline-block;
	transition: transform 0.15s;
}

#nav_tools.open #tools_caret { transform: rotate(180deg); }

#nav_tools.open > a#tools_trigger {
	background: #c0392b;
	border-left: 3px solid #7e2317;
	color: #ffffff;
}

#tools_menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #101010;
	border: 1px solid #262626;
	border-top: 2px solid #c0392b;
	border-radius: 0 0 6px 6px;
	min-width: 170px;
	z-index: 200;
	list-style: none;
	padding: 0;
	margin: 0;
	box-shadow: 0 6px 14px rgba(0,0,0,0.6);
	overflow: hidden;
}

#nav_tools.open #tools_menu { display: block; }

#tools_menu li { display: block; margin: 0; }

#tools_menu li a {
	display: block;
	padding: 10px 14px;
	font-size: 12px;
	color: #d4d4d4;
	text-decoration: none;
	white-space: nowrap;
	border-left: 3px solid transparent;
	text-transform: none;
	letter-spacing: 0;
}

#tools_menu li a:hover {
	color: #ffffff;
	background: #c0392b;
	border-left: 3px solid #7e2317;
}

/* ── FORUM PANELS — rounded, red banners ─────────────────── */
table { color: #d0d0d0; font-size: 13px; }

.tborder {
	background: #141414;
	width: 100%;
	margin: auto auto 16px;
	border: 1px solid #262626;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0,0,0,0.5);
}

.tfixed { table-layout: fixed; word-wrap: break-word; }

/* bright red category banner, bold white text */
.thead {
	background: linear-gradient(180deg, #cf4437, #ab3225);
	color: #ffffff;
	border-bottom: 1px solid #8e2a1f;
	padding: 8px 12px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}

.thead a:link, .thead a:visited { color: #ffffff; }
.thead a:hover, .thead a:active { color: #ffd5d0; }

.thead strong {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.thead .smalltext { color: #f0c7c2; text-transform: none; letter-spacing: 0; }

/* white collapse square on the right of the banner */
.expcolimage {
	float: right;
	width: auto;
	vertical-align: middle;
	margin-top: 1px;
	background: #ffffff;
	border-radius: 3px;
	padding: 2px;
	line-height: 0;
}

.tcat {
	background: linear-gradient(180deg, #1d1d1d, #161616);
	color: #888;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	border-bottom: 1px solid #1e1e1e;
	padding: 6px 12px;
}

.tcat a:link, .tcat a:visited { color: #888; }
.tcat a:hover, .tcat a:active { color: #c0392b; }

.trow1 {
	background: #141414;
	border-bottom: 1px solid #191919;
	padding: 9px 12px;
	transition: background .1s;
}

.trow2 {
	background: #111111;
	border-bottom: 1px solid #191919;
	padding: 9px 12px;
	transition: background .1s;
}

tr:hover > td.trow1,
tr:hover > td.trow2 { background: #1a1a1a; }

.trow_shaded {
	background: #1a0a0a;
	color: #aaa;
	border-bottom: 1px solid #191919;
	padding: 9px 12px;
}

.no_bottom_border { border-bottom: 0; }

.trow_deleted, .post.deleted_post { background: #1a0a0a; }

.trow_selected, tr.trow_selected td { background: #1a0a0a; color: #d0d0d0; }

.trow_sep {
	background: linear-gradient(180deg, #1c1c1c, #161616);
	color: #888;
	border-bottom: 1px solid #1e1e1e;
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.tfoot {
	background: #111111;
	border-top: 1px solid #1a1a1a;
	color: #555;
	padding: 7px 12px;
}

.tfoot a:link, .tfoot a:visited { color: #888; }
.tfoot a:hover, .tfoot a:active { color: #c0392b; }

.bottommenu {
	background: #111111;
	border: 1px solid #1e1e1e;
	border-radius: 6px;
	color: #888;
	padding: 8px 12px;
}

.forumdisplay_regular { background: #141414; }
.forumdisplay_sticky  { background: #161010; }

/* ── FORUM STATUS — red bullet, white center dot ─────────── */
.forum_status {
	width: 14px !important;
	height: 14px !important;
	border-radius: 50%;
	border: 0 !important;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	background: radial-gradient(circle at center, #ffffff 0 3px, #c0392b 3.5px) !important;
	box-shadow: 0 0 5px rgba(192,57,43,0.4);
}

.forum_off {
	background: radial-gradient(circle at center, #777777 0 3px, #262626 3.5px) !important;
	box-shadow: none;
}

.forum_offclose, .forum_offlock {
	background: radial-gradient(circle at center, #ffffff 0 3px, #5e1812 3.5px) !important;
	box-shadow: none;
}

.subforumicon {
	border-radius: 50%;
	width: 9px;
	height: 9px;
	display: inline-block;
	margin: 0 5px;
	border: 0;
	background: radial-gradient(circle at center, #ffffff 0 2px, #262626 2.5px);
}

.subforum_minion { background: radial-gradient(circle at center, #ffffff 0 2px, #c0392b 2.5px); }

/* ── GROUP COLOR OVERRIDES ───────────────────────────────── */
.mybb_admin, .mybb_mod { color: #c0392b !important; }

/* ── INPUTS / FORMS (rounded) ────────────────────────────── */
input.textbox, textarea, .textbox,
input[type="text"], input[type="password"], input[type="email"] {
	background: #161616;
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	color: #d0d0d0;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace;
	font-size: 13px;
	padding: 6px 9px;
	outline: 0;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.5);
}

input.textbox:focus, textarea:focus, select:focus,
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus {
	border-color: #c0392b;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.5), 0 0 5px rgba(192,57,43,0.25);
}

select {
	background: #161616;
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	color: #d0d0d0;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace;
	font-size: 13px;
	padding: 5px 8px;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select option { background: #161616; color: #d0d0d0; }

input.button, button, input[type="submit"] {
	background: linear-gradient(180deg, #d4453a, #b03427);
	border: 1px solid #c0392b;
	border-radius: 5px;
	color: #ffffff;
	cursor: pointer;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 6px 14px;
	text-transform: uppercase;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 1px 3px rgba(0,0,0,0.4);
	transition: background .15s, box-shadow .15s;
}

input.button:hover, button:hover, input[type="submit"]:hover {
	background: linear-gradient(180deg, #e74c3c, #c0392b);
	box-shadow: 0 0 8px rgba(192,57,43,0.4);
	color: #ffffff;
}

form { margin: 0; padding: 0; }

input.error, textarea.error, select.error { border-color: #c0392b; color: #c0392b; }
input.valid, textarea.valid, select.valid { border-color: #27ae60; }

label { cursor: pointer; }
.form_row { padding: 6px 0; }

/* ── PAGINATION (rounded) ────────────────────────────────── */
.pagination {
	font-size: 11px;
	padding-top: 10px;
	margin-bottom: 5px;
	color: #555;
}

.pagination .pages { font-weight: 600; }

.pagination .pagination_current,
.pagination a {
	padding: 4px 9px;
	margin-bottom: 3px;
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	background: linear-gradient(180deg, #1a1a1a, #131313);
	color: #888;
}

.pagination a:hover {
	background: linear-gradient(180deg, #d4453a, #b03427);
	border-color: #c0392b;
	color: #ffffff;
	text-decoration: none;
}

.pagination .pagination_current {
	background: linear-gradient(180deg, #d4453a, #b03427);
	border-color: #c0392b;
	color: #ffffff;
	font-weight: 700;
}

.pagination .go_page img { margin-bottom: -4px; }

.drop_go_page {
	background: #141414;
	border: 1px solid #1e1e1e;
	border-radius: 5px;
	padding: 4px;
}

/* ── POSTBIT ─────────────────────────────────────────────── */
.post .post_author {
	border-bottom: 1px solid #1a1a1a;
	background: linear-gradient(180deg, #1a1a1a, #151515);
	padding: 7px 9px;
}

.post.classic .post_author {
	background: linear-gradient(180deg, #1a1a1a, #151515);
	border: 1px solid #1f1f1f;
	border-radius: 6px;
	padding: 8px;
	margin: 10px 0;
}

.post .post_author strong > a { font-size: 14px; }

.post .post_author .author_information { float: left; padding: 0 8px; }

.post .post_author .author_statistics {
	float: right;
	font-size: 11px;
	color: #666;
	line-height: 1.5;
	padding: 2px 8px;
}

.post.classic .post_author .author_statistics {
	float: none;
	border-top: 1px dotted #252525;
	margin: 6px 0 0;
	padding: 6px 4px 0;
}

.post .post_head {
	font-size: 11px;
	padding-bottom: 4px;
	border-bottom: 1px dotted #252525;
	margin-bottom: 4px;
	color: #555;
}

.post .post_head span.post_date { color: #555; }
.post .post_head span.edited_post { font-size: 10px; color: #444; }
.post .post_head span.edited_post a { color: #555; }

.post_body { font-size: 13px; padding: 12px 8px; line-height: 1.6; }

.post_content { padding: 5px 10px; }

.post_content .signature {
	margin-top: 5px;
	border-top: 1px dotted #252525;
	padding: 10px 0 4px;
	color: #555;
	font-size: 11px;
}

.post .post_meta { margin: 4px 0; font-size: 11px; color: #444; }
.post .post_meta a:link, .post .post_meta a:visited { color: #555; }
.post .post_meta a:hover, .post .post_meta a:active { color: #c0392b; }

.post_controls {
	clear: both;
	background: #111111;
	border-top: 1px solid #1a1a1a;
	padding: 6px 9px;
}

.postbit_buttons > a:link, .postbit_buttons > a:visited {
	background: linear-gradient(180deg, #1a1a1a, #131313);
	border: 1px solid #2e2e2e;
	border-radius: 5px;
	color: #999;
	display: inline-block;
	font-size: 11px;
	margin: 2px;
	padding: 4px 10px;
	transition: border-color .15s, color .15s;
}

.postbit_buttons > a:hover {
	background: linear-gradient(180deg, #d4453a, #b03427);
	border-color: #c0392b;
	color: #ffffff;
	text-decoration: none;
}

.postbit_buttons > a img { margin-right: 3px; vertical-align: middle; display: none; }

/* ── QUOTES / CODE ───────────────────────────────────────── */
blockquote {
	background: #111111;
	border: 1px solid #1e1e1e;
	border-left: 3px solid #c0392b;
	border-radius: 0 5px 5px 0;
	margin: 8px 0;
	padding: 8px 12px;
}

blockquote cite {
	border-bottom: 1px solid #1e1e1e;
	color: #888;
	display: block;
	font-style: normal;
	font-weight: 600;
	font-size: 11px;
	margin: 0 0 6px;
	padding-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

blockquote cite span { float: right; font-weight: normal; font-size: 10px; color: #444; }
blockquote cite span.highlight { float: none; font-weight: 600; padding-bottom: 0; }

.codeblock {
	background: #0a0a0a;
	border: 1px solid #1e1e1e;
	border-left: 3px solid #333;
	border-radius: 0 5px 5px 0;
	margin: 8px 0;
	padding: 8px 12px;
}

.codeblock .title {
	border-bottom: 1px solid #1e1e1e;
	color: #888;
	font-weight: 600;
	font-size: 11px;
	margin: 0 0 6px;
	padding-bottom: 4px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.codeblock code {
	overflow: auto;
	height: auto;
	max-height: 200px;
	display: block;
	color: #b0b0b0;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace;
	font-size: 12px;
}

/* ── REPUTATION (used with Newpoints rep flow) ───────────── */
.reputation_positive, strong.reputation_positive { color: #27ae60 !important; }
.reputation_negative, strong.reputation_negative { color: #c0392b !important; }
.reputation_neutral,  strong.reputation_neutral  { color: #888 !important; }

.repbox {
	font-size: 14px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 5px;
	display: inline-block;
}

._neutral { background-color: #161616; color: #888; border: 1px solid #2a2a2a; }
._minus   { background-color: #1a0a0a; color: #c0392b; border: 1px solid #c0392b; }
._plus    { background-color: #0a140a; color: #27ae60; border: 1px solid #27ae60; }

.reputation_details_modal .modal_row { border-bottom: 1px solid #1a1a1a; }

/* ── REP MODAL CENTERING FIX ─────────────────────────────── */
.jquery-modal.blocker {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(0,0,0,0.75) !important;
	z-index: 9999 !important;
}

.jquery-modal .modal {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: 400px !important;
	max-width: 90% !important;
	background: #141414 !important;
	border: 1px solid #c0392b !important;
	border-radius: 8px !important;
	color: #d0d0d0 !important;
	box-shadow: 0 0 30px rgba(0,0,0,0.8) !important;
	overflow: hidden;
}

.modal .thead { background: linear-gradient(180deg, #cf4437, #ab3225); }

/* ── NEWPOINTS (styled, not hidden — rep/invite system) ──── */
a[href*="newpoints.php"]:link,
a[href*="newpoints.php"]:visited { color: #888; }
a[href*="newpoints.php"]:hover { color: #c0392b; }

.newpoints_donate,
.newpoints_balance,
[class*="newpoints"] {
	color: #888;
	font-size: 11px;
}

.author_statistics [class*="newpoints"],
.author_statistics a[href*="newpoints.php"] { color: #666; }

/* ── POPUP MENUS (user menu, quick mod, etc.) ────────────── */
.popup_menu {
	background: #101010;
	border: 1px solid #262626;
	border-top: 2px solid #c0392b;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 6px 14px rgba(0,0,0,0.6);
	overflow: hidden;
}

.popup_menu .popup_item {
	background: transparent;
	color: #d4d4d4;
	font-size: 12px;
	padding: 8px 12px;
	border-left: 3px solid transparent;
}

.popup_menu .popup_item:hover {
	background: #c0392b;
	color: #ffffff;
	text-decoration: none;
	border-left: 3px solid #7e2317;
}

.popup_menu .popup_item_container { margin: 1px; text-align: left; }
.popup_button { cursor: pointer; }

/* ── NOTICES / ERRORS ────────────────────────────────────── */
.red_alert {
	background: #1a0a0a;
	border: 1px solid #c0392b;
	border-radius: 6px;
	color: #c0392b;
	margin: 10px 0;
	padding: 8px 12px;
	font-size: 12px;
}

.red_alert a:link, .red_alert a:visited { color: #e74c3c; }

.high_warning { color: #c0392b; }
.moderate_warning { color: #e67e22; }
.low_warning { color: #f1c40f; }

.pm_alert {
	background: #1a0a0a;
	border: 1px solid #c0392b;
	border-radius: 6px;
	color: #c0392b;
	margin-bottom: 12px;
	padding: 8px 12px;
	font-size: 12px;
}

.success_message { color: #27ae60; font-size: 12px; margin-bottom: 8px; }
.error_message { color: #c0392b; font-size: 12px; margin-bottom: 8px; }

#posts_container { padding: 0; }

.imminent_banner, .auto_banner { background: #1a0a0a; color: #c0392b; }

/* ── THREAD / TOOLS LISTS ────────────────────────────────── */
ul.thread_tools, ul.thread_tools li { list-style: none; margin: 0; padding: 0; }

ul.thread_tools li { display: inline-block; margin-right: 8px; padding: 0; }

ul.thread_tools li a:link, ul.thread_tools li a:visited { color: #888; font-size: 12px; }
ul.thread_tools li a:hover { color: #c0392b; text-decoration: none; }

/* ── ATTACHMENTS ─────────────────────────────────────────── */
.attachment {
	background: #111111;
	border: 1px solid #1e1e1e;
	border-radius: 5px;
	margin: 4px 2px;
	padding: 6px;
}

.attachment .float_left { font-size: 11px; color: #888; }

/* ── MISC UI ─────────────────────────────────────────────── */
img { border: 0; }
img.attachment { border: 1px solid #1e1e1e; border-radius: 4px; padding: 2px; }

hr {
	background: #1a1a1a;
	color: #1a1a1a;
	height: 1px;
	border: 0;
	margin: 10px 0;
}

.clear { clear: both; }
.float_left { float: left; }
.float_right { float: right; }
.hidden { display: none; float: none; width: 1%; }
.hiddenrow { display: none; }

.smalltext { color: #555; font-size: 11px; }
.largetext { font-size: 16px; font-weight: 600; }
.bold { font-weight: 600; }

.highlight { background: #1a0a0a; color: #c0392b; padding-top: 3px; padding-bottom: 3px; }

.selectall { background: #1a0a0a; color: #c0392b; text-align: center; }

.author_avatar img {
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	padding: 2px;
	background: #0d0d0d;
}

.author_buttons { margin-top: 4px; }

.offline { color: #444; }
.online  { color: #27ae60; }

/* ── FOOTER ──────────────────────────────────────────────── */
#footer {
	background: #0d0d0d;
	border-top: 2px solid #c0392b;
	color: #333;
	font-size: 11px;
	padding: 0;
	text-align: center;
	margin-top: 20px;
	clear: both;
}

#footer .upper {
	background: linear-gradient(180deg, #131313, #0f0f0f);
	border-bottom: 1px solid #1a1a1a;
	padding: 8px 0;
}

#footer .lower {
	background: #0d0d0d;
	border-top: 0;
	color: #333;
	padding: 8px 0;
	font-size: 10px;
}

#footer a:link, #footer a:visited { color: #444; }
#footer a:hover { color: #c0392b; }

#footer ul.menu { margin: 0; padding: 0; }
#footer ul.menu li { display: inline-block; margin: 0 8px; }

/* footer links stay quiet — no boxes down here */
#footer ul.menu li a {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 2px 6px;
	color: #444;
	font-size: 11px;
}

#footer ul.menu li a:hover { color: #c0392b; box-shadow: none; }

#copyright { font-size: 10px; margin: 0; padding: 6px 0; }

#debug { float: right; text-align: right; margin-top: 0; font-size: 10px; color: #2a2a2a; }

/* ── EDITOR (SCEditor) ───────────────────────────────────── */
#codebuttons, .sceditor-toolbar {
	background: #111111 !important;
	border-bottom: 1px solid #1a1a1a !important;
	padding: 4px;
}

.sceditor-container {
	background: #161616 !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 6px !important;
}

.sceditor-container iframe, .sceditor-container textarea {
	background: #161616 !important;
	color: #d0d0d0 !important;
	font-family: "JetBrains Mono", "Courier New", Consolas, monospace !important;
}

.sceditor-button { border-radius: 3px; }
.sceditor-button:hover { background: #1a0a0a !important; }

.sceditor-dropdown {
	background: #141414 !important;
	border: 1px solid #262626 !important;
	border-radius: 6px !important;
	color: #d0d0d0 !important;
}

/* ── PM / UCP BOXES ──────────────────────────────────────── */
.pmbox {
	background: #141414;
	border: 1px solid #1e1e1e;
	border-radius: 6px;
	margin-bottom: 8px;
}

.pm_buttons { margin: 6px 0; }

/* ── SCROLLBAR ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0d0d0d; }
::-webkit-scrollbar-thumb { background: #252525; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #c0392b; }
		
/* Nav Destruction */
#nav_user[data-uid="0"] { display: none !important; }

/* ── GUEST/MEMBER PANEL HEIGHT FIX ────────────────────────── */
/* Force a consistent row regardless of whether {$welcomeblock}
   renders the short guest <span> or the full member <ul> set */
#panel .upper .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	min-height: 34px;
	gap: 10px;
}

#panel .upper .wrapper form {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	order: 2;
	margin-left: auto;
}

fieldset#search {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

#search input.textbox {
	background: #151515;
	border: 1px solid #2a2a2a;
	border-radius: 5px;
	color: #d0d0d0;
	padding: 6px 10px;
	width: 180px;
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.6);
	margin: 0;
}

#search input.textbox:focus { border-color: #c0392b; }

#search input.button {
	margin: 0;
}

/* welcomeblock content takes remaining space, vertically centered */
#panel .upper .wrapper > span.welcome,
#panel .upper .wrapper > div.welcome {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	order: 1;
	flex: 1 1 auto;
}

/* belt-and-suspenders: stop #panel collapsing on the guest (short) variant */
#panel {
	min-height: 56px;
}

/* keep cat_nav spacing independent of #panel's actual height */
#cat_nav {
	margin-top: 12px;
}


/* Hide Intelligence & OSINT, Security, Development, Crypto & Finance, Urbex on index only */
#index_forums table:has(#cat_9_e),
#index_forums table:has(#cat_14_e),
#index_forums table:has(#cat_20_e),
#index_forums table:has(#cat_27_e),
#index_forums table:has(#cat_32_e),
#index_forums table:has(#cat_35_e),
#index_forums table:has(#cat_39_e) {
	display: none !important;
}

/* also collapse the trailing <br> after each hidden table */
#index_forums table:has(#cat_9_e)  + br,
#index_forums table:has(#cat_14_e) + br,
#index_forums table:has(#cat_20_e) + br,
#index_forums table:has(#cat_27_e) + br,
#index_forums table:has(#cat_32_e) + br,
#index_forums table:has(#cat_35_e) + br,
#index_forums table:has(#cat_39_e) + br {
	display: none !important;
}

/* Hide Tools dropdown unless user is in the Urbex group (gid 11) */
#nav_tools { display: none; }
#nav_tools[data-groups*=",11,"] { display: inline-block; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE / MOBILE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.wrapper {
		width: 96%;
		min-width: 0;
		max-width: none;
	}

	#content { padding: 0 4px; }
}

@media (max-width: 768px) {
	/* logo shrinks so it doesn't dominate small screens */
	#logo { padding: 12px 0 8px; }
	#logo img { max-height: 60px; }

	/* main nav wraps instead of squeezing into one line */
	#main_nav .nav_flex {
		flex-wrap: wrap;
	}

	#main_nav ul.top_links {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}

	#main_nav ul.top_links li a {
		padding: 9px 11px;
		font-size: 11px;
	}

	#nav_user {
		width: 100%;
		justify-content: center;
		padding: 6px 0;
		border-top: 1px solid #1c1c1c;
	}

	/* board strip + breadcrumb shrink */
	#board_strip .wrapper { font-size: 12px; letter-spacing: 1px; }

	/* welcome panel: stack welcome text above search */
	#panel .upper .wrapper {
		flex-direction: column;
		align-items: stretch;
	}

	#panel .upper .wrapper form {
		margin-left: 0;
		justify-content: center;
		width: 100%;
	}

	fieldset#search { width: 100%; justify-content: center; }
	#search input.textbox { flex: 1 1 auto; width: auto; }

	#panel ul.menu {
		justify-content: center;
		display: flex;
		flex-wrap: wrap;
	}

	/* category tabs: smaller, still wrap */
	#cat_nav .cat_tab {
		padding: 6px 10px;
		font-size: 11px;
	}

	/* let wide forum tables scroll instead of forcing page width */
	.tborder {
		overflow-x: auto;
		display: block;
	}

	.tborder table,
	.tborder thead,
	.tborder tbody {
		display: table;
		width: 100%;
	}

	/* hide less-critical columns on forum index to save width */
	.tcat:nth-child(3),
	.tcat:nth-child(4),
	.trow1 td[align="center"]:nth-of-type(1),
	.trow1 td[align="center"]:nth-of-type(2),
	.trow2 td[align="center"]:nth-of-type(1),
	.trow2 td[align="center"]:nth-of-type(2) {
		display: none;
	}
}

@media (max-width: 480px) {
	body { font-size: 12px; }

	#logo img { max-height: 48px; }

	#main_nav ul.top_links li a { padding: 8px 8px; font-size: 10px; }

	#nav_user .nav_username { font-size: 11px; padding: 6px 10px; }
	#nav_user .nav_icon { font-size: 13px; padding: 6px 8px; }

	#cat_nav { gap: 4px; padding: 6px; }
	#cat_nav .cat_tab { padding: 5px 8px; font-size: 10px; }

	/* last post column too cramped on phones — hide it */
	.tcat:nth-child(5),
	.trow1 td[align="right"],
	.trow2 td[align="right"] {
		display: none;
	}
}

/* Prevent individual nav labels from wrapping internally */
#main_nav ul.top_links li a {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

/* Remove the margin-right hack from the ::before icons now that
   gap handles spacing — keeps icon vertically centered with text */
#main_nav a.home::before,
#main_nav a.portal::before,
#main_nav a.search::before,
#main_nav a.memberlist::before,
#main_nav a.calendar::before,
#main_nav a.help::before {
	margin-right: 0;
	line-height: 1;
}

/* Tools trigger: same treatment */
#tools_trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}