/* =====================================================================
   Gaycels layer on top of the Revolution theme (MyBB 1.8.41).
   Loaded last, so it overrides Revolution's own stylesheets.
   ===================================================================== */

/* ---- Fonts (served from this server, no third-party requests) ---- */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-400-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-400-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-600-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-600-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-700-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-700-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---- Base ----
   Palette: page #1c2338, panel #222a42, row #252e48, line #2e3957,
   text #d6dcea, muted #8f9ab8, link #4fb3ea, accent #e8662b          */
body {
	background: #1c2338;
	color: #d6dcea;
	font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif;
	font-size: 14px;
}
#container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	color: #d6dcea;
	font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif;
	font-size: 14px;
	box-sizing: border-box;
}
#content {
	background: transparent;
	box-shadow: none;
	-webkit-box-shadow: none;
	padding: 16px 0 30px;
	border: 0;
}
a:link, a:visited { color: #4fb3ea; }
a:hover, a:active { color: #8ccdf3; }
.smalltext { font-size: 12px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .gc-tab-radio:focus-visible + label {
	outline: 2px solid #29a9eb;
	outline-offset: 2px;
}

/* ---- Header band ---- */
#gc-header {
	background: linear-gradient(100deg, #2d78b8 0%, #5a4bb0 42%, #b43a78 76%, #d8394f 100%);
	color: #fff;
	text-align: left;
	position: relative;
	z-index: 20;
}
#gc-header::after {  /* curved lower edge */
	content: "";
	display: block;
	height: 28px;
	margin-top: -28px;
	background: #1c2338;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	position: relative;
	z-index: -1;
}
#gc-header .gc-inner, #gc-footer .gc-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.gc-bar { border-bottom: 1px solid rgba(255,255,255,.14); }
.gc-bar .gc-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
}
.gc-logo img { display: block; height: 36px; width: auto; }
.gc-logo { flex: none; }
.gc-bar .gc-inner { padding-bottom: 0; }
#gc-header a:link, #gc-header a:visited { color: #fff; }

ul.gc-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.gc-nav > li { margin: 0 2px; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a, .gc-user summary {
	display: block;
	padding: 9px 8px;
	border-radius: 3px;
	white-space: nowrap;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
	background: none;
}
ul.gc-nav > li > a:hover, ul.gc-nav summary:hover, .gc-user > a:hover, .gc-user summary:hover,
details.gc-drop[open] > summary { background: rgba(255,255,255,.14); }
/* icons for the stock menu links (header_menu_* templates) */
ul.gc-nav a::before {
	font-family: FontAwesome;
	margin-right: 6px;
	font-size: 13px;
	display: inline-block;
	width: 1em;
	text-align: center;
}
ul.gc-nav a.forums::before { content: "\f086"; }
ul.gc-nav a.portal::before { content: "\f015"; }
ul.gc-nav a.search::before { content: "\f002"; }
ul.gc-nav a.memberlist::before { content: "\f0c0"; }
ul.gc-nav a.calendar::before { content: "\f073"; }
ul.gc-nav a.help::before { content: "\f128"; }
ul.gc-nav ul.gc-menu a::before { content: none; }

.gc-user { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.gc-user a.gc-pmcount {
	min-width: 22px;
	padding: 3px 7px;
	text-align: center;
	background: rgba(0,0,0,.25);
	border-radius: 11px;
	font-size: 12px;
}

/* Dropdowns: native <details>, so they open without JavaScript */
details.gc-drop { position: relative; }
details.gc-drop > summary { list-style: none; }
details.gc-drop > summary::-webkit-details-marker { display: none; }
ul.gc-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 190px;
	margin: 6px 0 0;
	padding: 6px 0;
	list-style: none;
	background: #222a42;
	border: 1px solid #36426a;
	border-radius: 4px;
	box-shadow: 0 10px 30px rgba(0,0,0,.45);
	z-index: 100;
	text-align: left;
}
ul.gc-menu.gc-menu-right { left: auto; right: 0; }
ul.gc-menu li { display: block; margin: 0; }
#gc-header ul.gc-menu a:link, #gc-header ul.gc-menu a:visited {
	display: block;
	padding: 7px 16px;
	color: #d6dcea;
	font-size: 13px;
	background: none;
}
#gc-header ul.gc-menu a:hover { background: #2e3957; color: #fff; }

/* Guest welcome area */
#gc-hero { text-align: center; padding: 26px 0 64px; }
/* no welcome box for members: leave room under the bar for the curved edge */
#gc-header > .gc-bar:last-child { padding-bottom: 30px; border-bottom: 0; }
#gc-hero h1 { margin: 0 0 14px; font-size: 30px; font-weight: 400; color: #fff; }
#gc-hero p { margin: 0 auto 22px; max-width: 68ch; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.9); }
.gc-hero-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
#gc-header a.gc-btn:link, #gc-header a.gc-btn:visited {
	display: inline-block;
	min-width: 96px;
	padding: 10px 28px;
	border-radius: 2px;
	font-size: 15px;
	color: #fff;
}
#gc-header a.gc-btn-login { background: #29a9eb; }
#gc-header a.gc-btn-register { background: #e2601c; }
#gc-header a.gc-btn:hover { filter: brightness(1.1); }

/* ---- Breadcrumb bar with quick search ---- */
.gc-crumbbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #222a42;
	border: 1px solid #2e3957;
	border-radius: 3px;
	padding: 6px 8px 6px 14px;
	margin-bottom: 16px;
	min-height: 34px;
}
.gc-crumbbar .navigation { color: #8f9ab8; font-size: 13px; }
.gc-crumbbar .navigation a:link, .gc-crumbbar .navigation a:visited { color: #c9d1e3; font-size: 13px; }
.gc-crumbbar .navigation .active { color: #8f9ab8; font-size: 13px; }
.gc-crumbbar .navigation img { vertical-align: middle; opacity: .6; }
.gc-search form { margin: 0; }
.gc-search #search, .gc-search fieldset { border: 0; margin: 0; padding: 0; display: flex; gap: 4px; }
.gc-search { margin-left: auto; }
.gc-search input.textbox, #search input.textbox { width: 200px; background: #1b2135; border: 1px solid #36426a; }

/* ---- Tables and panels ---- */
.tborder {
	background: #222a42;
	border: 1px solid #2c3653;
	border-radius: 4px;
	box-shadow: none;
	-webkit-box-shadow: none;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 4px;
}
.thead, .trow_sep {
	background: #222a42;
	color: #e8ecf5;
	border-bottom: 1px solid #2e3957;
	box-shadow: none;
	-webkit-box-shadow: none;
	text-shadow: none;
	padding: 12px 14px;
	font-size: 17px;
}
.thead strong { font-weight: 400; text-transform: none; }
.thead a:link, .thead a:visited, .thead a:hover, .thead a:active {
	color: #e8ecf5;
	font-family: inherit;
	font-size: 17px;
}
.thead .smalltext, .thead .smalltext a:link, .thead .smalltext a:visited { font-size: 12px; color: #8f9ab8; }
.expcolimage img { filter: invert(.8); opacity: .75; }
.tcat {
	background: #273150;
	color: #8f9ab8;
	border-top: 0;
	border-bottom: 1px solid #2e3957;
	font-family: inherit;
}
.tcat a:link, .tcat a:visited, .tcat a:hover { color: #b8c2da; }
.trow1, .trow2, .tfoot {
	background: #252e48;
	color: #d6dcea;
	border-top: 0;
	border-bottom: 1px solid #2e3957;
	font-family: inherit;
	font-size: 14px;
}
.trow2 { background: #27304b; }
.tfoot { background: #222a42; color: #8f9ab8; }
.tfoot a:link, .tfoot a:visited { color: #b8c2da; }
.trow_shaded { background: #2d2f48; }
.trow_selected, tr.trow_selected td { background: #34405f; color: #fff; }
.tborder tbody tr:last-child > td { border-bottom: 0; }
td.trow1 a:link, td.trow1 a:visited, td.trow2 a:link, td.trow2 a:visited { color: #e8ecf5; }
td.trow1 .smalltext, td.trow2 .smalltext { color: #8f9ab8; }
td.trow1 .smalltext a:link, td.trow2 .smalltext a:link,
td.trow1 .smalltext a:visited, td.trow2 .smalltext a:visited { color: #b8c2da; }

/* Forum rows */
.forum_status { width: 44px; height: 44px; font-size: 26px; }
.forum_status i { line-height: 44px; }
.forum_on { color: #e8662b; }
.forum_off, .forum_offlock, .forum_offlink, .forum_offclose { color: #5b6a8f; }
.forum_off i { opacity: 1; }
.gc-desc { color: #e8662b; }
td strong > a:link, td strong > a:visited { font-size: 15px; font-weight: 600; }

/* Index sidebar */
.gc-sidebar { width: 22%; padding-left: 12px !important; }
.gc-sidebar .thead { font-size: 16px; }
.gc-sidebar .latestthreads_portal td { padding: 10px 4px; border-bottom: 1px solid #2e3957; background: transparent; }
.gc-sidebar .latestthreads a:link, .gc-sidebar .latestthreads a:visited { color: #e8ecf5; }
.gc-sidebar .latestthreads .smalltext a:link, .gc-sidebar .latestthreads .smalltext a:visited { color: #4fb3ea; }

/* ---- Forms and buttons ---- */
input.textbox, textarea, select {
	background: #1b2135;
	color: #d6dcea;
	border: 1px solid #36426a;
	border-radius: 2px;
	-webkit-box-shadow: 0 0 0 1000px #1b2135 inset !important;
	box-shadow: 0 0 0 1000px #1b2135 inset !important;
	-webkit-text-fill-color: #d6dcea;
}
button, input.button {
	background: #2e3957;
	background-image: none;
	border: 1px solid #3c4870;
	color: #e8ecf5;
	text-shadow: none;
	border-radius: 2px;
}
button:hover, input.button:hover { background: #3a4769; }
.gc-search input.button { background: #29a9eb; border-color: #29a9eb; color: #fff; }
a.button:link, a.button:visited, a.button4:link, a.button4:visited {
	background: #29a9eb;
	background-image: none;
	border: 0;
	color: #fff;
	text-shadow: none;
	border-radius: 2px;
	box-shadow: none;
}
a.button5:link, a.button5:visited { background: #e2601c; color: #fff; border: 0; text-shadow: none; }
fieldset { border-color: #2e3957; }
legend { color: #e8ecf5; }

/* ---- Pagination ---- */
.pagination a, .pagination2 a:link, .pagination2 a:visited {
	background: #252e48;
	border: 1px solid #2e3957;
	box-shadow: none;
	-webkit-box-shadow: none;
	text-shadow: none;
	color: #d6dcea;
	border-radius: 2px;
}
.pagination a:hover { background: #34405f; }
.pagination .pagination_current { background: #d6dcea; color: #1c2338; border-radius: 2px; }

/* ---- Posts ---- */
.post .post_author {
	background: #222a42;
	border-top: 1px solid #2e3957;
	border-bottom: 1px solid #2e3957;
}
.post .post_head { border-bottom: 1px solid #2e3957; font-family: inherit; }
.post .post_head span.post_date, .post .post_head span.edited_post, .post .post_head span.edited_post a { color: #8f9ab8; }
.post_body { font-size: 15px; line-height: 1.6; color: #d6dcea; }
.post_controls { background: #222a42; border-color: #2e3957; }
.post_content .signature { border-top: 1px dashed #36426a; }
blockquote {
	background: #1f2640;
	border: 1px solid #36426a;
	border-left: 3px solid #29a9eb;
	text-shadow: none;
	font-family: inherit;
	font-size: 14px;
}
blockquote cite { border-bottom: 1px solid #36426a; color: #b8c2da; }
.codeblock { background: #1b2135; border: 1px solid #36426a; }
.codeblock .title { border-bottom: 1px solid #36426a; }

/* ---- Menus, notices, modals ---- */
.popup_menu, .modal { background: #222a42; border: 1px solid #36426a; text-shadow: none; }
.popup_menu .popup_item { color: #d6dcea; text-shadow: none; font-family: inherit; }
.popup_menu .popup_item:hover { background: #2e3957; color: #fff; text-shadow: none; }
.pm_alert { background: #243452; border: 1px solid #2d78b8; color: #d6dcea; text-shadow: none; font-size: 13px; }
.red_alert { background: #4a2230; border: 1px solid #d8394f; color: #ffd6dc; text-shadow: none; }
.tipsy-inner { background: #0f1424; font-family: inherit; }

/* ---- Profile tabs (radio buttons + CSS, no JavaScript) ---- */
.gc-tabs { position: relative; }
.gc-tabs .gc-tab-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gc-tabs .gc-tab-label {
	display: inline-block;
	padding: 10px 15px;
	margin-right: 2px;
	background: #222a42;
	border: 1px solid #2e3957;
	border-bottom: 0;
	color: #b8c2da;
	cursor: pointer;
	border-radius: 3px 3px 0 0;
}
.gc-tabs .gc-tab-radio:checked + .gc-tab-label { background: #252e48; color: #fff; }
.gc-tabs .tab-content2 {
	display: none;
	padding: 15px;
	background: #252e48;
	border: 1px solid #2e3957;
}
#gc_ptab1:checked ~ #tab-1, #gc_ptab2:checked ~ #tab-2, #gc_ptab3:checked ~ #tab-3,
#gc_ptab4:checked ~ #tab-4, #gc_ptab5:checked ~ #tab-5 { display: block; }

/* ---- Footer ---- */
#gc-footer {
	background: #161c2e;
	border-top: 1px solid #2e3957;
	color: #7d88a6;
	font-size: 13px;
	text-align: left;
}
.gc-footer-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	border-bottom: 1px solid #242c44;
}
ul.gc-footer-links { margin: 0; padding: 0; list-style: none; }
ul.gc-footer-links li { display: inline-block; margin-right: 14px; }
#gc-footer a:link, #gc-footer a:visited { color: #a8b2cc; }
#gc-footer a:hover { color: #fff; }
.gc-footer-select form, .gc-footer-select div { display: inline-block; margin: 0 0 0 6px; }
.gc-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 12px 0 18px; }
.footmenu { background: transparent; border: 0; }

@media (max-width: 900px) {
	.gc-bar .gc-inner { flex-wrap: wrap; justify-content: center; padding-top: 8px; padding-bottom: 8px; }
	ul.gc-nav { order: 3; flex-basis: 100%; }
	.gc-crumbbar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

.footmenu .gc-label { display: none; }
.post .post_author, .user { border-radius: 3px; }
.stposts .post_content { background: #252e48; }

/* ---- Post wrapper (whole post, so MyBB's delete/restore/ignore logic applies to it) ---- */
.post.gc-post {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0 0 14px;
	overflow: visible;
}
.gc-post .post_author { float: none; width: auto; margin: 0; }
.gc-post .post_meta { color: #8f9ab8; font-size: 12px; overflow: hidden; }
.gc-post.deleted_post .stposts .post_content { background: #3a2a38; }
.gc-post.unapproved_post .stposts .post_content { background: #3a3526; }

/* Rules from MyBB 1.8.41's stock stylesheet that Revolution predates */
.post:not(.deleted_post) .postbit_qrestore,
.post:not(.deleted_post) .status_type,
.post.deleted_post .postbit_mirage { display: none; }
.thread_start_datetime { color: #8f9ab8; }
blockquote cite > span { float: right; font-weight: normal; font-size: 12px; color: #8f9ab8; }
input.textbox.portal_search { width: 68%; }
.imminent_banned { color: #ff6b6b; }
.high_banned { color: #ff4d4d; }
.moderate_banned { color: #ff9c4d; }
.low_banned { color: #6fd39a; }
.poll_votedfor { background: #34405f; border: 1px solid #4a5987; }
.jGrowl .jGrowl-notification { min-height: 40px; }
.jGrowl .jGrowl-notification.jgrowl_success { background: #1f5f3f; border: 1px solid #2d8a5a; color: #fff; }
.jGrowl .jGrowl-notification.jgrowl_error { background: #6b2231; border: 1px solid #d8394f; color: #fff; }
.jGrowl .jGrowl-notification.jgrowl_process, .jGrowl .jGrowl-closer { background: #5c4d1a; border: 1px solid #8a7426; color: #fff; }
.deleted_post_collapsed, .ignored_post, .deleted_post_hidden {
	background: #252e48;
	border: 1px solid #2e3957;
	border-radius: 3px;
	color: #b8c2da;
}
.modal {
	padding: 0;
	background: #222a42;
	border: 1px solid #36426a;
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(0,0,0,.55);
}
.modal .tborder { border: 0; margin: 0; }
/* Custom profile fields (registration + User CP): full-width answers */
fieldset table:has([name^="profile_fields"]) { width: 100%; }
textarea[name^="profile_fields"] {
	width: 100% !important;
	min-height: 140px;
	box-sizing: border-box;
	resize: vertical;
}
input.textbox[name^="profile_fields"] { width: 100%; box-sizing: border-box; }

.author_avatar img {
	width: 100px !important;
	height: 100px !important;
	object-fit: cover;
	object-position: center;
}

/* =====================================================================
   Header polish: moving gradient, wavy edge, sliding menu highlight,
   rounded avatars. Paste at the bottom of gaycels.css.
   ===================================================================== */
 
/* 1. Slowly shifting gradient */
#gc-header {
	background: linear-gradient(100deg, #2d78b8 0%, #5a4bb0 25%, #b43a78 50%, #2f8f7a 75%, #2d78b8 100%);
	background-size: 300% 100%;
	animation: gc-shift 19s ease-in-out infinite alternate;
}
@keyframes gc-shift {
	from { background-position: 0% 50%; }
	to   { background-position: 100% 50%; }
}
 
/* 2. Wavy lower edge (two layered waves in the page colour) */
#gc-header::after {
	height: 46px;
	margin-top: -46px;
	border-radius: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%231c2338' fill-opacity='.45' d='M0 22C220 52 470 4 760 26s520 30 680 4V60H0Z'/%3E%3Cpath fill='%231c2338' d='M0 40C260 14 520 58 800 36S1230 14 1440 38V60H0Z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
#gc-hero { padding-bottom: 76px; }
#gc-header > .gc-bar:last-child { padding-bottom: 44px; }
 
/* 3. Full-height menu items with a sliding highlight */
.gc-bar .gc-inner { align-items: stretch; }
.gc-logo { align-self: center; }
ul.gc-nav, .gc-user { align-self: stretch; align-items: stretch; }
ul.gc-nav > li, .gc-user > details, .gc-user > a:not(.gc-pmcount) { display: flex; margin: 0; }
.gc-user > a.gc-pmcount { align-self: center; margin-left: 6px; }
details.gc-drop { display: flex; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a:not(.gc-pmcount), .gc-user summary {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 0 12px;
	border-radius: 0;
	background: linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) left top / 0% 100% no-repeat !important;
	transition: background-size .25s ease;
}
ul.gc-nav > li > a:hover, ul.gc-nav summary:hover,
.gc-user > a:not(.gc-pmcount):hover, .gc-user summary:hover,
details.gc-drop[open] > summary,
ul.gc-nav > li > a:focus-visible, .gc-user > a:focus-visible, summary:focus-visible {
	background-size: 100% 100% !important;
}
ul.gc-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
 
/* 4. Rounded avatars everywhere */
.author_avatar img,
img[src*="uploads/avatars/"],
img[src*="default_avatar"] {
	border-radius: 10%;
}



/* =====================================================================
   Posts: XenForo-style message cards. Paste at the bottom of gaycels.css.
   ===================================================================== */
.post.gc-post { margin: 0 0 12px; }
.gc-msg {
	display: flex;
	background: #252e48;
	border: 1px solid #2e3957;
	border-radius: 4px;
	overflow: hidden;
}

/* Author column */
.gc-msg-user {
	flex: 0 0 170px;
	padding: 14px 12px;
	background: #2a3452;
	border-right: 1px solid #2e3957;
	text-align: center;
	box-sizing: border-box;
}
.gc-msg-avatar .author_avatar { margin: 0 auto 8px; }
.gc-msg-avatar img {
	width: 128px !important;
	height: 128px !important;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
	border: 0;
	display: block;
	margin: 0 auto;
}
.gc-msg-name { font-size: 15px; font-weight: 600; line-height: 1.3; word-break: break-word; }
.gc-msg-name img.buddy_status { width: 8px; height: 8px; margin-right: 4px; vertical-align: 1px; }
.gc-msg-title { font-size: 12px; color: #8f9ab8; margin-top: 2px; }
.gc-msg-stars { margin: 4px 0 10px; line-height: 1; }
.gc-msg-stars img { height: 11px; width: auto; margin: 0 1px; }

/* Joined / Posts / Threads ... as aligned label-value rows */
dl.gc-stats {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 3px 8px;
	margin: 0;
	padding-top: 10px;
	border-top: 1px solid #36426a;
	font-size: 12px;
	text-align: left;
}
dl.gc-stats dt { margin: 0; color: #8f9ab8; font-weight: 400; }
dl.gc-stats dd { margin: 0; text-align: right; color: #d6dcea; white-space: nowrap; }
dl.gc-stats dd a:link, dl.gc-stats dd a:visited { color: #4fb3ea; }

/* Content column, with the little arrow pointing at the author */
.gc-msg-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 10px 16px 8px;
	position: relative;
}
.gc-msg-main::before {
	content: "";
	position: absolute;
	left: -1px;
	top: 18px;
	border: 8px solid transparent;
	border-left-color: #2e3957;
}
.gc-msg-main::after {
	content: "";
	position: absolute;
	left: -2px;
	top: 18px;
	border: 8px solid transparent;
	border-left-color: #2a3452;
}
.gc-msg-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 0 8px;
	margin-bottom: 10px;
	border-bottom: 1px solid #2e3957;
	font-size: 12px;
}
.gc-msg-head .post_date { color: #8f9ab8; }
.gc-msg-head .float_right { float: none; display: flex; align-items: center; gap: 8px; }
.gc-msg-head .float_right a:link, .gc-msg-head .float_right a:visited { color: #8f9ab8; font-weight: 400; }
.gc-msg-head .float_right a:hover { color: #fff; }
.gc-msg-main .post_body { flex: 1 1 auto; padding: 0 0 12px; font-size: 15px; line-height: 1.6; background: none; }
.gc-msg-main .post_meta { font-size: 11px; color: #6f7a99; padding: 0 0 6px; }
.gc-msg-main .post_meta:empty { display: none; }
.gc-msg-main .signature { border-top: 1px solid #2e3957; padding-top: 8px; margin-top: 4px; color: #aab5d0; font-size: 13px; }

/* Footer actions as quiet text links */
.gc-msg-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 6px 0 0;
	margin: 0;
	background: none !important;
	border: 0 !important;
	border-top: 1px solid #2e3957 !important;
}
.gc-msg-foot .postbit_buttons, .gc-msg-foot .postbit_buttons2 { float: none; display: flex; flex-wrap: wrap; gap: 2px; }
.gc-msg-foot .postbit_buttons > a:link, .gc-msg-foot .postbit_buttons > a:visited,
.gc-msg-foot .postbit_buttons2 > a:link, .gc-msg-foot .postbit_buttons2 > a:visited {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #8f9ab8 !important;
	font-size: 12px;
	padding: 4px 7px;
	margin: 0;
	border-radius: 3px;
}
.gc-msg-foot .postbit_buttons > a:hover, .gc-msg-foot .postbit_buttons2 > a:hover {
	background: #2e3957 !important;
	color: #fff !important;
}

/* Deleted / unapproved posts */
.gc-post.deleted_post .gc-msg-main { background: #3a2a38; }
.gc-post.unapproved_post .gc-msg-main { background: #3a3526; }

/* Narrow screens: author above the post */
@media (max-width: 700px) {
	.gc-msg { flex-direction: column; }
	.gc-msg-user { flex-basis: auto; border-right: 0; border-bottom: 1px solid #2e3957; display: flex; align-items: center; gap: 10px; text-align: left; }
	.gc-msg-avatar img { width: 48px !important; height: 48px !important; }
	.gc-msg-avatar .author_avatar { margin: 0; }
	dl.gc-stats, .gc-msg-stars { display: none; }
	.gc-msg-main::before, .gc-msg-main::after { display: none; }
}



/* Header menu: same height and vertical centring for every item,
   without relying on <details> behaving as a flex box (Firefox doesn't) */
details.gc-drop { display: block; position: relative; }
ul.gc-nav > li > a, ul.gc-nav summary,
.gc-user > a:not(.gc-pmcount), .gc-user summary {
	min-height: 64px;
	box-sizing: border-box;
}
.gc-user { align-items: center; }
.gc-user > details, .gc-user > a:not(.gc-pmcount) { align-self: stretch; }
ul.gc-nav { flex-wrap: nowrap; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a:not(.gc-pmcount), .gc-user summary { padding: 0 10px; }
@media (max-width: 1100px) {
	ul.gc-nav { flex-wrap: wrap; }
}


/* =====================================================================
   Thread list rows (XenForo style) and the social box next to the
   breadcrumb bar. Paste at the bottom of gaycels.css.
   ===================================================================== */

/* Breadcrumb bar + social box on one row */
.gc-crumbrow { display: flex; gap: 6px; margin-bottom: 16px; }
.gc-crumbrow .gc-crumbbar { flex: 1 1 auto; margin-bottom: 0; }
.gc-social {
	display: flex;
	align-items: stretch;
	background: #222a42;
	border: 1px solid #2e3957;
	border-radius: 3px;
}
.gc-social a {
	display: flex;
	align-items: center;
	padding: 0 14px;
	opacity: .7;
	transition: opacity .15s ease, background-color .15s ease;
}
.gc-social a:hover, .gc-social a:focus-visible { opacity: 1; background: #2e3957; }
.gc-social img { display: block; width: 22px; height: 22px; }

/* Thread rows */
.gc-threadlist td.gc-tcell-avatar { padding: 10px 6px 10px 12px; }
img.gc-tavatar {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
}
.gc-tcell-main { padding: 10px 8px; }
.gc-ttitle { font-size: 15px; line-height: 1.35; }
.gc-ttitle a:link, .gc-ttitle a:visited { color: #e8ecf5 !important; font-weight: 400; }
.gc-ttitle .subject_new a:link, .gc-ttitle .subject_new a:visited { font-weight: 700; }
.gc-ttitle a:hover { color: #fff !important; text-decoration: underline; }
.gc-ttitle img { vertical-align: -2px; margin-right: 4px; }
.gc-tmeta { font-size: 12px; color: #8f9ab8; margin-top: 3px; }
.gc-tmeta .author a:link, .gc-tmeta .author a:visited { color: #8f9ab8 !important; }
.gc-tmeta .thread_start_datetime { color: #8f9ab8; }
.gc-tmeta .smalltext { font-size: 11px; }
.gc-tmeta .smalltext a:link, .gc-tmeta .smalltext a:visited {
	color: #8f9ab8 !important;
	border: 1px solid #36426a;
	border-radius: 2px;
	padding: 0 4px;
	margin: 0 1px;
}

/* Status (new / hot / locked) as a small muted icon */
.gc-tcell-status { padding: 0 4px; text-align: center; }
.gc-tcell-status .thread_status { opacity: .55; transform: scale(.8); }

/* Replies / Views */
.gc-tcell-stats { padding: 10px 14px; }
dl.gc-tstats {
	display: grid;
	grid-template-columns: auto 3.5em;
	gap: 1px 10px;
	margin: 0;
	font-size: 12px;
	white-space: nowrap;
}
dl.gc-tstats dt { color: #8f9ab8; margin: 0; }
dl.gc-tstats dd { margin: 0; text-align: right; color: #d6dcea; font-size: 13px; }
dl.gc-tstats dd a:link, dl.gc-tstats dd a:visited { color: #d6dcea !important; }
dl.gc-tstats dt:nth-of-type(2), dl.gc-tstats dt:nth-of-type(2) + dd { font-size: 11px; opacity: .8; }

/* Last post */
.gc-tcell-last { padding: 10px 6px; text-align: right; white-space: nowrap; }
.gc-tlast { font-size: 13px; line-height: 1.4; }
.gc-tlast > a:link, .gc-tlast > a:visited { color: #d6dcea !important; }
.gc-tlast-name, .gc-tlast-name a:link, .gc-tlast-name a:visited { font-size: 12px; color: #8f9ab8 !important; }
.gc-threadlist td.gc-tcell-lavatar { padding: 10px 12px 10px 4px; }
img.gc-lavatar {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
}

/* Sticky separator like "Sticky Threads" */
.gc-threadlist .trow_sep { font-size: 14px; padding: 8px 14px; background: #2b3553; color: #4fb3ea; border-left: 3px solid #4caf7d; }

@media (max-width: 800px) {
	.gc-tcell-stats, .gc-tcell-status, .gc-tcell-lavatar { display: none; }
}

/* Thread ratings are not shown in the list; keep their column at zero width
   so the table stays aligned whether ratings are on or off */
.gc-threadlist td[id^="rating_table_"] { width: 0; padding: 0 !important; font-size: 0; border: 0; }
.gc-threadlist td[id^="rating_table_"] > * { display: none; }
.gc-trow > td:last-child { width: 1px; padding-right: 12px; }

 

/* =====================================================================
   Motion: colour-cycling header, floating shapes, chevron toggles.
   Paste at the bottom of gaycels.css.
   ===================================================================== */

/* 1. Header: full-spectrum colour cycle (about 20 s per turn) */
#gc-header { animation: none; background: #4a4fae; }
#gc-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(100deg, #2d78b8 0%, #6a3fb5 35%, #c2367a 70%, #e0513a 100%);
	background-size: 200% 100%;
	animation: gc-hue 20s linear infinite, gc-drift 11s ease-in-out infinite alternate;
	will-change: filter;
}
@keyframes gc-hue { from { filter: hue-rotate(0deg); } to { filter: hue-rotate(360deg); } }
@keyframes gc-drift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }

/* Faint shapes drifting inside the guest welcome area */
#gc-hero { position: relative; overflow: hidden; }
#gc-hero > .gc-inner { position: relative; z-index: 1; }
#gc-hero::before, #gc-hero::after {
	content: "";
	position: absolute;
	width: 70px;
	height: 70px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: .14;
	pointer-events: none;
	animation: gc-float-b 30s ease-in-out infinite alternate;
}
#gc-hero::before { left: 14%; top: 30%; }
#gc-hero::after { right: 12%; top: 18%; width: 46px; height: 46px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4 19 12 5 20Z' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-a 26s ease-in-out -8s infinite alternate; }

/* 2. Floating outline shapes in the page margins (markup: .gc-floaters in the footer template) */
#container, #gc-footer { position: relative; z-index: 1; }
.gc-floaters {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.gc-floaters span {
	position: absolute;
	display: block;
	background: center / contain no-repeat;
}
.gc-floaters .gc-f1 { left: 6vw; top: 34vh; width: 22px; height: 22px; opacity: 0.8; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4 19 12 5 20Z' stroke='%234caf7d' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-a 34s ease-in-out -5s infinite alternate; }
.gc-floaters .gc-f2 { left: 93vw; top: 22vh; width: 26px; height: 26px; opacity: 0.85; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18' stroke='%233fe0c5' stroke-width='3'/%3E%3C/svg%3E"); animation: gc-float-b 28s ease-in-out -12s infinite alternate; }
.gc-floaters .gc-f3 { left: 9vw; top: 72vh; width: 20px; height: 20px; opacity: 0.6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%23c9d1e3' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-c 40s ease-in-out -20s infinite alternate; }
.gc-floaters .gc-f4 { left: 4vw; top: 55vh; width: 18px; height: 18px; opacity: 0.7; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5l14 14M19 5 5 19' stroke='%233fe0c5' stroke-width='3'/%3E%3C/svg%3E"); animation: gc-float-b 31s ease-in-out -3s infinite alternate; }
.gc-floaters .gc-f5 { left: 95vw; top: 60vh; width: 16px; height: 16px; opacity: 0.6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 9-9 9-9-9z' stroke='%23e05a8a' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-a 37s ease-in-out -18s infinite alternate; }
.gc-floaters .gc-f6 { left: 90vw; top: 84vh; width: 18px; height: 18px; opacity: 0.6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4 19 12 5 20Z' stroke='%234fb3ea' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-c 26s ease-in-out -9s infinite alternate; }
.gc-floaters .gc-f7 { left: 2.5vw; top: 90vh; width: 14px; height: 14px; opacity: 0.55; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18' stroke='%23e8662b' stroke-width='3'/%3E%3C/svg%3E"); animation: gc-float-a 44s ease-in-out -25s infinite alternate; }
.gc-floaters .gc-f8 { left: 97vw; top: 42vh; width: 12px; height: 12px; opacity: 0.6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%233fe0c5' stroke-width='2'/%3E%3C/svg%3E"); animation: gc-float-b 23s ease-in-out -7s infinite alternate; }
@keyframes gc-float-a {
	0%   { transform: translate(0, 0) rotate(0deg); }
	50%  { transform: translate(18px, -40px) rotate(120deg); }
	100% { transform: translate(-14px, 30px) rotate(240deg); }
}
@keyframes gc-float-b {
	0%   { transform: translate(0, 0) rotate(0deg); }
	50%  { transform: translate(-22px, 34px) rotate(-90deg); }
	100% { transform: translate(16px, -26px) rotate(-200deg); }
}
@keyframes gc-float-c {
	0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
	50%  { transform: translate(26px, 22px) rotate(60deg) scale(1.15); }
	100% { transform: translate(-20px, -30px) rotate(150deg) scale(.9); }
}
@media (max-width: 1000px) { .gc-floaters { display: none; } }

/* 7. Chevron arrows instead of the collapse images */
.expcolimage { position: relative; width: 22px; height: 22px; }
.expcolimage img.expander {
	width: 22px !important;
	height: 22px !important;
	opacity: 0;
	cursor: pointer;
	position: relative;
	z-index: 1;
	filter: none;
}
.expcolimage::after {
	content: "\f077";
	font-family: FontAwesome;
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: #8f9ab8;
	pointer-events: none;
	transition: transform .2s ease, color .15s ease;
}
.expcolimage:hover::after { color: #fff; }
.expcolimage:has(img[src*="collapse_collapsed"])::after { transform: rotate(180deg); }

/* =====================================================================
   Mobile layout (phones and small tablets).
   Paste at the bottom of gaycels.css.
   ===================================================================== */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Hamburger menu: hidden on desktop */
details.gc-burger { display: none; }

/* Stock menu icons also inside the slide-in menu */
.gc-oc-list a::before {
	font-family: FontAwesome;
	display: inline-block;
	width: 1.4em;
	margin-right: 8px;
	text-align: center;
}
.gc-oc-list a.forums::before { content: "\f086"; }
.gc-oc-list a.portal::before { content: "\f015"; }
.gc-oc-list a.search::before { content: "\f002"; }
.gc-oc-list a.memberlist::before { content: "\f0c0"; }
.gc-oc-list a.calendar::before { content: "\f073"; }
.gc-oc-list a.help::before { content: "\f128"; }

@media (max-width: 900px) {
	/* ---- Top bar: ☰ | logo | account icons ---- */
	#gc-header .gc-inner { padding: 0 8px; }
	.gc-bar .gc-inner { flex-wrap: nowrap; justify-content: space-between; gap: 4px; min-height: 56px; padding-top: 0; padding-bottom: 0; }
	ul.gc-nav { display: none; }
	.gc-logo { flex: 1 1 auto; min-width: 0; }
	.gc-logo img { height: 28px; max-width: 100%; }
	ul.gc-nav > li > a, .gc-user > a:not(.gc-pmcount), .gc-user summary { min-height: 56px; padding: 0 12px; }
	.gc-user > a:not(.gc-pmcount), .gc-user summary { font-size: 0; }
	.gc-user > a:not(.gc-pmcount) i, .gc-user summary i { font-size: 19px; }
	.gc-user summary i.fa-angle-down { display: none; }
	#gc-header > .gc-bar:last-child { padding-bottom: 36px; }

	/* ---- Slide-in menu (native <details>, works without JavaScript) ---- */
	details.gc-burger { display: block; flex: none; }
	details.gc-burger > summary {
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		min-height: 56px;
		font-size: 22px;
		color: #fff;
		cursor: pointer;
	}
	details.gc-burger > summary::-webkit-details-marker { display: none; }
	details.gc-burger .gc-ico-close { display: none; }
	/* When open, the summary becomes a dimmed full-screen backdrop:
	   tapping anywhere outside the menu closes it, no script needed */
	details.gc-burger[open] > summary {
		position: fixed;
		inset: 0;
		z-index: 1000;
		width: auto;
		min-height: 0;
		background: rgba(8, 11, 22, .6);
		justify-content: flex-end;
		align-items: flex-start;
		padding: 14px 18px;
	}
	details.gc-burger[open] .gc-ico-open { display: none; }
	details.gc-burger[open] .gc-ico-close { display: inline; }
	.gc-oc {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1001;
		width: min(80vw, 320px);
		overflow-y: auto;
		background: #252e48;
		box-shadow: 4px 0 24px rgba(0,0,0,.4);
		text-align: left;
		animation: gc-oc-in .2s ease-out;
	}
	@keyframes gc-oc-in { from { transform: translateX(-100%); } to { transform: none; } }
	.gc-oc-head {
		padding: 16px 18px;
		font-size: 20px;
		color: #fff;
		background: #34405f;
		border-bottom: 1px solid #3c4870;
	}
	ul.gc-oc-list, ul.gc-oc-list ul { list-style: none; margin: 0; padding: 0; }
	ul.gc-oc-list > li { border-bottom: 1px solid #2e3957; }
	#gc-header ul.gc-oc-list a:link, #gc-header ul.gc-oc-list a:visited,
	ul.gc-oc-list summary {
		display: flex;
		align-items: center;
		min-height: 52px;
		padding: 0 18px;
		color: #e8ecf5;
		font-size: 17px;
		background: none;
	}
	ul.gc-oc-list a:hover, ul.gc-oc-list summary:hover { background: #2e3957; }
	ul.gc-oc-list summary { list-style: none; justify-content: space-between; cursor: pointer; }
	ul.gc-oc-list summary::-webkit-details-marker { display: none; }
	details.gc-oc-sub[open] > summary i { transform: rotate(180deg); }
	details.gc-oc-sub ul { background: #1f2740; }
	#gc-header details.gc-oc-sub ul a:link, #gc-header details.gc-oc-sub ul a:visited { padding-left: 44px; font-size: 15px; min-height: 46px; }

	/* ---- Welcome area ---- */
	#gc-hero { padding: 18px 0 56px; }
	#gc-hero h1 { font-size: 24px; margin-bottom: 10px; }
	#gc-hero p { font-size: 15px; margin-bottom: 18px; }
	#gc-header a.gc-btn:link, #gc-header a.gc-btn:visited { padding: 11px 22px; }
	#gc-hero::before, #gc-hero::after { opacity: .08; }

	/* ---- Page frame ---- */
	#container { padding: 0 8px; }
	#content { padding-top: 10px; }
	#content > .wrapper { overflow-x: auto; }

	/* Breadcrumb bar, search and social box */
	.gc-crumbrow { flex-wrap: nowrap; }
	.gc-crumbrow .gc-crumbbar { min-width: 0; }
	.gc-crumbbar { flex-wrap: wrap; padding: 8px 10px; }
	.gc-search { flex: 1 1 100%; margin-left: 0; }
	.gc-search #search, .gc-search fieldset, .gc-search form { width: 100%; }
	.gc-search input.textbox, #search input.textbox { width: 100%; min-width: 0; flex: 1; }
	.gc-social a { min-height: 44px; }

	/* Layout tables placed directly in the page (index + sidebar,
	   User CP menu + content, ...) stack vertically */
	#content > .wrapper > table:not(.tborder) > tbody > tr > td {
		display: block;
		width: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.gc-sidebar { margin-top: 8px; }

	/* ---- Forum list rows: icon + stacked text ---- */
	table.tborder:has(> tbody[id^="cat_"]),
	table.tborder > tbody[id^="cat_"] { display: block; }
	table.tborder:has(> tbody[id^="cat_"]) > thead,
	table.tborder:has(> tbody[id^="cat_"]) > thead > tr,
	table.tborder:has(> tbody[id^="cat_"]) > thead > tr > td { display: block; }
	table.tborder > tbody[id^="cat_"] > tr {
		display: grid;
		grid-template-columns: 46px 1fr;
		border-top: 1px solid #2e3957;
		background: #252e48;
	}
	table.tborder > tbody[id^="cat_"] > tr > td {
		display: block;
		width: auto !important;
		border: 0 !important;
		padding: 2px 12px 2px 0 !important;
		text-align: left !important;
		white-space: normal !important;
		background: transparent !important;
	}
	table.tborder > tbody[id^="cat_"] > tr > td:first-child { grid-row: 1 / span 3; padding: 12px 0 0 8px !important; }
	table.tborder > tbody[id^="cat_"] > tr > td:nth-child(2) { padding-top: 12px !important; }
	table.tborder > tbody[id^="cat_"] > tr > td:nth-child(3),
	table.tborder > tbody[id^="cat_"] > tr > td:nth-child(4) { font-size: 12px; color: #8f9ab8; }
	table.tborder > tbody[id^="cat_"] > tr > td:nth-child(3) br { display: none; }
	table.tborder > tbody[id^="cat_"] > tr > td:last-child { padding-bottom: 12px !important; }
	.forum_status { width: 34px; height: 34px; font-size: 22px; }
	.forum_status i { line-height: 34px; }

	/* ---- Thread lists ---- */
	.gc-tcell-last { display: none; }
	.gc-threadlist td.gc-tcell-avatar { padding-left: 8px; }

	/* ---- Forms and buttons ---- */
	input.textbox, textarea, select { max-width: 100%; box-sizing: border-box; }
	textarea { width: 100% !important; }
	input.button, button { min-height: 40px; }
	a.button:link, a.button:visited { display: inline-flex; align-items: center; min-height: 40px; box-sizing: border-box; }

	/* ---- Footer ---- */
	#gc-footer .gc-inner { padding: 0 12px; }
	ul.gc-footer-links li { margin: 4px 14px 4px 0; }
	.gc-footer-bottom { flex-direction: column; }
}




/* =====================================================================
   Attachments as image cards, and the member profile header.
   Paste at the bottom of gaycels.css.
   ===================================================================== */

/* ---- Attachments ---- */
.gc-attachments { margin: 14px 0 8px; }
.gc-attach-head {
	font-size: 15px;
	color: #8f9ab8;
	margin-bottom: 8px;
}
.gc-attach-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
a.gc-attach-card {
	position: relative;
	display: block;
	width: 190px;
	height: 190px;
	overflow: hidden;
	border-radius: 4px;
	background: #1b2135;
	border: 1px solid #2e3957;
	vertical-align: top;
}
.post_body a.gc-attach-card { display: inline-block; margin: 4px 4px 4px 0; }
a.gc-attach-card img.attachment {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	padding: 0;
	margin: 0;
	max-width: none;
	transition: transform .25s ease;
}
a.gc-attach-card:hover img.attachment { transform: scale(1.04); }
.gc-attach-name {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 18px 8px 6px;
	background: linear-gradient(transparent, rgba(10, 13, 25, .88));
	color: #e8ecf5;
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
a.gc-attach-file {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 460px;
	padding: 8px 10px;
	margin-bottom: 6px;
	background: #1f2740;
	border: 1px solid #2e3957;
	border-radius: 4px;
	color: #d6dcea !important;
}
a.gc-attach-file:hover { background: #2a3452; }
.gc-attach-file-name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-attach-file-meta { font-size: 11px; color: #8f9ab8; white-space: nowrap; }

/* ---- Member profile header ---- */
.gc-profile {
	background: #252e48;
	border: 1px solid #2e3957;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 16px;
}
.gc-profile-banner {
	height: 90px;
	background: linear-gradient(100deg, #2d78b8 0%, #6a3fb5 35%, #c2367a 70%, #e0513a 100%);
	opacity: .55;
}
.gc-profile-main {
	display: flex;
	align-items: flex-end;
	gap: 18px;
	padding: 0 20px 14px;
	margin-top: -56px;
	position: relative;
}
.gc-profile-avatar img {
	display: block;
	width: 132px !important;
	height: 132px !important;
	object-fit: cover;
	border-radius: 10%;
	border: 4px solid #252e48;
	background: #1c2338;
}
.gc-profile-id { flex: 1 1 auto; min-width: 0; padding-bottom: 4px; }
h1.gc-profile-name {
	margin: 0;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	color: #e8ecf5;
	word-break: break-word;
}
.gc-profile-title { color: #8f9ab8; font-size: 14px; margin-top: 2px; }
.gc-profile-stars { margin-top: 4px; line-height: 1; }
.gc-profile-stars img { height: 12px; width: auto; }
.gc-profile-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; padding-bottom: 6px; }
.gc-profile-actions a.button:link, .gc-profile-actions a.button:visited {
	background: #2e3957 !important;
	color: #d6dcea !important;
	font-size: 12px;
	padding: 6px 12px;
}
.gc-profile-actions a.button:hover { background: #3a4769 !important; color: #fff !important; }
dl.gc-profile-stats {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 12px 20px 14px;
	border-top: 1px solid #2e3957;
	gap: 8px 34px;
}
dl.gc-profile-stats > div { min-width: 0; }
dl.gc-profile-stats dt { font-size: 12px; color: #8f9ab8; margin: 0 0 2px; }
dl.gc-profile-stats dd { margin: 0; font-size: 15px; color: #e8ecf5; }
dl.gc-profile-stats dd a:link, dl.gc-profile-stats dd a:visited { color: #4fb3ea; }

@media (max-width: 700px) {
	a.gc-attach-card { width: calc(50% - 4px); height: auto; aspect-ratio: 1; }
	.gc-profile-main { flex-wrap: wrap; align-items: flex-start; margin-top: -48px; padding: 0 14px 12px; }
	.gc-profile-avatar img { width: 96px !important; height: 96px !important; }
	.gc-profile-id { flex-basis: 100%; }
	.gc-profile-actions { justify-content: flex-start; }
	dl.gc-profile-stats { padding: 12px 14px; gap: 10px 22px; }
}

/* Quick reply: attach files row */
td.gc-qr-attach { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 12px; font-size: 13px; }
td.gc-qr-attach label { color: #8f9ab8; }
td.gc-qr-attach input[type="file"] { color: #b8c2da; font-size: 12px; max-width: 100%; }
td.gc-qr-attach input[type="file"]::file-selector-button {
	background: #2e3957;
	color: #e8ecf5;
	border: 1px solid #3c4870;
	border-radius: 2px;
	padding: 5px 10px;
	margin-right: 8px;
	cursor: pointer;
}
td.gc-qr-attach input[type="file"]::file-selector-button:hover { background: #3a4769; }






/* =====================================================================
   Post forms (new thread, reply, edit post, private messages).
   Paste at the bottom of gaycels.css.
   ===================================================================== */
form[name="input"] > table.tborder > tbody > tr > td.trow1,
form[name="input"] > table.tborder > tbody > tr > td.trow2 {
	background: #252e48;
	border-bottom: 1px solid #2e3957;
	padding: 14px 16px;
	vertical-align: top;
}
/* Label column */
form[name="input"] > table.tborder > tbody > tr > td.trow1:first-child:not([colspan]),
form[name="input"] > table.tborder > tbody > tr > td.trow2:first-child:not([colspan]) {
	width: 170px;
	text-align: right;
	color: #b8c2da;
	background: #222a42;
	border-right: 1px solid #2e3957;
}
form[name="input"] > table.tborder > tbody > tr > td:first-child strong { font-weight: 600; color: #d6dcea; }
form[name="input"] .smalltext { color: #8f9ab8; }
form[name="input"] .tcat { background: #222a42; color: #8f9ab8; padding: 8px 16px; }

/* Subject and other text fields: full width */
form[name="input"] input.textbox[name="subject"],
form[name="input"] input.textbox[name="to"],
form[name="input"] textarea[name="to"],
form[name="input"] textarea[name="bcc"] {
	width: 100%;
	max-width: 640px;
	box-sizing: border-box;
	padding: 8px 10px;
	font-size: 15px;
}

/* Post icons row and the side smilie box are hidden: the editor's
   emoticon button covers smilies, and post icons aren't shown anywhere */
form[name="input"] tr:has(input[name="icon"]):not(:has(tr)) { display: none; }
form[name="input"] div:has(> table.tborder > tbody > tr > td > table#clickable_smilies) { display: none; }

/* Editor */
form[name="input"] .sceditor-container {
	width: 100% !important;
	box-sizing: border-box;
	border: 1px solid #36426a;
	border-radius: 4px;
	background: #1b2135;
	overflow: hidden;
}
form[name="input"] .sceditor-toolbar {
	background: #2a3452;
	border-bottom: 1px solid #36426a;
	padding: 4px;
}
form[name="input"] .sceditor-group {
	background: transparent;
	border: 0;
	border-right: 1px solid #36426a;
	border-radius: 0;
	margin: 1px 4px 1px 0;
	padding: 0 4px 0 0;
}
form[name="input"] .sceditor-group:last-child { border-right: 0; }
form[name="input"] .sceditor-button {
	border-radius: 3px;
	margin: 1px;
	padding: 4px;
	box-sizing: content-box;
}
form[name="input"] .sceditor-button div { filter: brightness(1.5) saturate(.9); }
form[name="input"] .sceditor-button-bold div, form[name="input"] .sceditor-button-italic div,
form[name="input"] .sceditor-button-underline div, form[name="input"] .sceditor-button-strike div,
form[name="input"] .sceditor-button-left div, form[name="input"] .sceditor-button-center div,
form[name="input"] .sceditor-button-right div, form[name="input"] .sceditor-button-justify div,
form[name="input"] .sceditor-button-unlink div { filter: invert(.88); }
form[name="input"] .sceditor-button:hover,
form[name="input"] .sceditor-button.active { background: #3a4769; box-shadow: none; }
form[name="input"] .sceditor-button.disabled div { opacity: .35; }
form[name="input"] .sceditor-container iframe,
form[name="input"] .sceditor-container textarea {
	background: #1b2135 !important;
	color: #d6dcea;
	font-size: 15px;
	line-height: 1.6;
}
/* Without JavaScript: the plain textarea */
form[name="input"] textarea#message { width: 100%; min-height: 280px; box-sizing: border-box; padding: 10px; font-size: 15px; line-height: 1.6; }

/* Checkbox and radio options */
form[name="input"] td label { display: inline-block; margin: 3px 0; line-height: 1.5; }
form[name="input"] td label input { vertical-align: -2px; margin: 0 6px 0 0; }
form[name="input"] td input[type="checkbox"], form[name="input"] td input[type="radio"] { accent-color: #29a9eb; }

/* Attachments box */
form[name="input"] > table.tborder + br { display: none; }
form[name="input"] table.tborder:has(input.fileupload) { margin-top: 14px; }
form[name="input"] #dropzone {
	border: 2px dashed #3c4870 !important;
	border-radius: 6px;
	background: #1f2740;
	color: #8f9ab8;
	transition: border-color .15s ease, background-color .15s ease;
}
form[name="input"] #dropzone:hover { border-color: #29a9eb !important; background: #222c48; }
form[name="input"] #upload_bar { background: #29a9eb !important; }

/* Buttons: primary + secondary */
form[name="input"] > div[align="center"] {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	padding: 14px 0 6px;
}
form[name="input"] input.button[name="submit"] {
	background: #29a9eb;
	border: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 10px 26px;
	border-radius: 3px;
}
form[name="input"] input.button[name="submit"]:hover { background: #45b6f0; }
form[name="input"] input.button[name="previewpost"],
form[name="input"] input.button[name="savedraft"] { padding: 10px 16px; font-size: 14px; border-radius: 3px; }

/* Phones: labels above fields */
@media (max-width: 700px) {
	form[name="input"] > table.tborder > tbody > tr:not(:has(> td[colspan])) { display: flex; flex-direction: column; }
	form[name="input"] > table.tborder > tbody > tr:has(input[name="icon"]):not(:has(tr)) { display: none; }
	form[name="input"] > table.tborder > tbody > tr > td.trow1:first-child:not([colspan]),
	form[name="input"] > table.tborder > tbody > tr > td.trow2:first-child:not([colspan]) {
		width: auto;
		text-align: left;
		border-right: 0;
		border-bottom: 0;
		padding-bottom: 4px;
		background: #252e48;
	}
	form[name="input"] > table.tborder > tbody > tr > td { display: block; }
	form[name="input"] > div[align="center"] { justify-content: stretch; }
	form[name="input"] > div[align="center"] input.button { flex: 1 1 auto; }
}

/* Recipient picker (select2) in dark colours */
.select2-container .select2-choice, .select2-container-multi .select2-choices {
	background: #1b2135 !important;
	background-image: none !important;
	border: 1px solid #36426a !important;
	border-radius: 2px;
	box-shadow: none !important;
}
.select2-container-multi .select2-choices .select2-search-field input { color: #d6dcea !important; padding: 6px 8px; }
.select2-container-multi .select2-choices .select2-search-choice {
	background: #2e3957 !important;
	background-image: none !important;
	border: 1px solid #3c4870 !important;
	color: #e8ecf5;
	box-shadow: none !important;
}
.select2-drop, .select2-drop-active { background: #222a42; border-color: #36426a !important; color: #d6dcea; }
.select2-results .select2-highlighted { background: #29a9eb; color: #fff; }
.select2-results .select2-no-results, .select2-results .select2-searching { background: #222a42; color: #8f9ab8; }



   .popup_menu { z-index: 1500; }






 
/* Attachment picker: always show the normal "Choose files" button.
   MyBB hides it and opens it by script from the drop zone, which some
   phone browsers (notably iPhone/Safari) refuse to do. */
form[name="input"] tr:has(> td > input.fileupload) { display: table-row !important; }
form[name="input"] input.fileupload { font-size: 14px; max-width: 100%; color: #b8c2da; }
form[name="input"] input.fileupload::file-selector-button {
	background: #2e3957;
	color: #e8ecf5;
	border: 1px solid #3c4870;
	border-radius: 2px;
	padding: 8px 14px;
	margin-right: 8px;
	cursor: pointer;
}
/* Touch screens can't drag and drop files, so the drop zone is hidden there */
@media (pointer: coarse) {
	form[name="input"] tr:has(#dropzone) { display: none !important; }
	form[name="input"] tr:has(> td > input.fileupload) td { white-space: normal !important; }
}





/* =====================================================================
   Footer, board statistics strip, "New posts" button, hover effects,
   per-forum icons. Paste at the bottom of gaycels.css.
   ===================================================================== */

/* ---- Footer ---- */
#gc-footer { background: #161c2e; border-top: 0; margin-top: 50px; padding-top: 6px; }
#gc-footer::before {  /* wavy upper edge */
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -39px;
	height: 40px;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%23161c2e' fill-opacity='.5' d='M0 38C240 10 520 56 820 30s480-14 620 6V60H0Z'/%3E%3Cpath fill='%23161c2e' d='M0 30C300 58 560 12 860 34s420 18 580-8V60H0Z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
.gc-footer-main {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 30px;
	padding: 10px 0 22px;
	border-bottom: 1px solid #242c44;
}
#gc-footer h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	color: #d6dcea;
}
#gc-footer h3 i { color: #4fb3ea; margin-right: 4px; }
.gc-footer-about p { margin: 0; line-height: 1.6; color: #a8b2cc; max-width: 62ch; }
ul.gc-footer-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.gc-footer-links li { display: block; margin: 0; }
ul.gc-footer-links i { color: #6f7a99; margin-right: 4px; }
#gc-footer a.gc-rss i { color: #fa9b39; }
#gc-footer a:hover i { color: inherit; }
.gc-footer-bottom { align-items: center; padding: 14px 0 20px; font-size: 12px; }
.gc-footer-select form, .gc-footer-select div { display: inline-block; margin: 0 4px; }

/* ---- Board statistics strip (index) ---- */
.gc-statstrip {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 14px 20px;
	margin: 18px 0 12px;
	padding: 16px 18px;
	background: #222a42;
	border: 1px solid #2e3957;
	border-radius: 4px;
}
.gc-stat { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gc-stat-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 2px solid #3c4870;
	color: #b8c2da;
	font-size: 16px;
}
.gc-stat-txt { display: flex; flex-direction: column; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #8f9ab8; line-height: 1.3; }
.gc-stat-txt b { font-size: 18px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #e8ecf5; }
.gc-stat-txt b a:link, .gc-stat-txt b a:visited { color: #e8ecf5 !important; }
/* Who's online / birthdays: only shown when there is something to show */
table.gc-wol:not(:has(td)) { display: none; }

/* ---- "New posts" button (index) ---- */
.gc-index-actions { display: flex; justify-content: flex-end; margin: -4px 0 12px; }
a.button.gc-newposts:link, a.button.gc-newposts:visited { padding: 9px 16px; font-size: 14px; }
a.button.gc-newposts i { margin-right: 4px; }

/* ---- Hover: titles turn link-blue and underline, rows lighten ---- */
tbody[id^="cat_"] > tr > td, .gc-trow > td { transition: background-color .15s ease; }
tbody[id^="cat_"] > tr:hover > td, .gc-trow:hover > td { background-color: #2a3452 !important; }
tbody[id^="cat_"] > tr:hover > td.gc-tcell-avatar, .gc-trow:hover > td { background-color: #2a3452 !important; }
td strong > a:hover,
.gc-ttitle a:hover,
.gc-sidebar .latestthreads a:hover {
	color: #4fb3ea !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.forum_status i { transition: transform .2s ease; }
tbody[id^="cat_"] > tr:hover .forum_status i { transform: scale(1.08); }

/* ---- Forum icons ---- */
/* Link forums (e.g. "Rules and FAQ"): a link icon instead of the arrows */
.forum_offlink i:before { content: "\f0c1"; }
/* Per-forum icons: replace each FID with the forum's number
   (forumdisplay.php?fid=NUMBER). Icon codes: fontawesome.com/v4/icons */
#mark_read_4 i:before        { content: "\f1ea"; } /* newspaper */
#mark_read_7 i:before { content: "\f086"; } /* comments */
#mark_read_8 i:before  { content: "\f0e7"; } /* bolt */
#mark_read_10 i:before     { content: "\f0f4"; } /* coffee */
#mark_read_11 i:before   { content: "\f12e"; } /* puzzle piece */

@media (max-width: 900px) {
	.gc-footer-main { grid-template-columns: 1fr; gap: 18px; }
	.gc-statstrip { justify-content: flex-start; }
	.gc-stat { flex: 1 1 40%; }
	.gc-index-actions { margin-top: 0; }
}



/* Smooth hover: colours and underlines fade in instead of switching instantly */
a:link, a:visited { transition: color .25s ease, background-color .25s ease, text-decoration-color .25s ease; }
td strong > a, .gc-ttitle a, .gc-sidebar .latestthreads a {
	text-decoration: underline !important;
	text-decoration-color: transparent !important;
	text-underline-offset: 2px;
}
td strong > a:hover, .gc-ttitle a:hover, .gc-sidebar .latestthreads a:hover {
	color: #4fb3ea !important;
	text-decoration-color: #4fb3ea !important;
}




/* =====================================================================
   Last-post avatars, "New threads" sidebar, thread prefix badges.
   Paste at the bottom of gaycels.css.
   ===================================================================== */

/* ---- Forum list: last post with the poster's avatar ---- */
.gc-flast { display: flex; align-items: center; gap: 10px; text-align: left; }
.gc-flast .smalltext { line-height: 1.45; min-width: 0; }
.gc-flast .smalltext strong { font-weight: 400; color: #d6dcea; }
img.gc-favatar {
	display: block;
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
	flex: none;
}
.gc-never { color: #6f7a99; }

/* ---- "New threads" sidebar ---- */
.gc-sidebar td.trow2 { padding: 4px 12px; }
.gc-nt {
	display: flex;
	gap: 10px;
	padding: 11px 0;
	border-bottom: 1px solid #2e3957;
}
.gc-nt:last-child { border-bottom: 0; }
img.gc-ntavatar {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
	flex: none;
	margin-top: 2px;
}
.gc-nt-body { min-width: 0; }
.gc-nt-title { font-size: 14px; line-height: 1.4; word-break: break-word; }
.gc-nt-title a:link, .gc-nt-title a:visited {
	color: #e8ecf5 !important;
	text-decoration: underline !important;
	text-decoration-color: transparent !important;
	text-underline-offset: 2px;
}
.gc-nt-title a:hover { color: #4fb3ea !important; text-decoration-color: #4fb3ea !important; }
.gc-nt-meta, .gc-nt-forum { font-size: 11.5px; line-height: 1.45; color: #8f9ab8; margin-top: 2px; }
.gc-nt-meta a:link, .gc-nt-meta a:visited { color: #b8c2da !important; }
.gc-nt-forum a:link, .gc-nt-forum a:visited { color: #8f9ab8 !important; }
.gc-nt-forum a:hover, .gc-nt-meta a:hover { color: #4fb3ea !important; }
.gc-nt-empty { padding: 10px 0; color: #8f9ab8; }

/* ---- Thread prefix badges ----
   Use in Configuration → Thread Prefixes → "Display Style", e.g.
   <span class="gc-prefix gc-blue"><i class="fa fa-bullhorn"></i> Serious</span>
   Colours: gc-blue gc-teal gc-green gc-purple gc-pink gc-red gc-orange gc-grey gc-black */
.gc-prefix {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 1px 7px;
	border-radius: 3px;
	font-size: .8em;
	font-weight: 600;
	line-height: 1.55;
	color: #fff;
	vertical-align: 1px;
	white-space: nowrap;
	text-decoration: none !important;
}
.gc-prefix i { font-size: .95em; }
.gc-blue   { background: #1e7fd8; }
.gc-teal   { background: #13a89e; }
.gc-green  { background: #3a9d4f; }
.gc-purple { background: #7a52d6; }
.gc-pink   { background: #d8478d; }
.gc-red    { background: #c9373d; }
.gc-orange { background: #e2601c; }
.gc-grey   { background: #4a5675; }
.gc-black  { background: #0f1424; border: 1px solid #36426a; }
.gc-ttitle .gc-prefix { margin-right: 4px; }



/* =====================================================================
   Hover v2: sliding highlight on buttons, underline that grows from the
   centre on titles, gentle lift on forum rows. Paste at the bottom of gaycels.css.
   ===================================================================== */

/* ---- Buttons: highlight slides in from the left, like the top menu ---- */
#gc-header a.gc-btn,
a.button.gc-newposts {
	background-image: linear-gradient(rgba(255,255,255,.2), rgba(255,255,255,.2)) !important;
	background-repeat: no-repeat !important;
	background-position: left top !important;
	background-size: 0% 100% !important;
	transition: background-size .3s ease !important;
	filter: none !important;
}
#gc-header a.gc-btn:hover, #gc-header a.gc-btn:focus-visible,
a.button.gc-newposts:hover, a.button.gc-newposts:focus-visible {
	background-size: 100% 100% !important;
	filter: none !important;
}
a.button.gc-newposts:link, a.button.gc-newposts:visited, a.button.gc-newposts:hover { background-color: #29a9eb !important; }

/* ---- Titles: no resting underline; on hover the text turns blue and an
        underline grows outward from the centre (shrinks back on leave) ---- */
td:not(.thead) strong > a, .gc-ttitle a, .gc-nt-title a {
	text-decoration: none !important;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: 0% 1px;
	padding-bottom: 1px;
	transition: color .3s ease, background-size .3s ease !important;
}
td:not(.thead) strong > a:hover, .gc-ttitle a:hover, .gc-nt-title a:hover,
td:not(.thead) strong > a:focus-visible, .gc-ttitle a:focus-visible, .gc-nt-title a:focus-visible {
	color: #4fb3ea !important;
	text-decoration: none !important;
	background-size: 100% 1px;
}

/* ---- Forum rows: lift slightly on hover ---- */
tbody[id^="cat_"] > tr { transition: transform .2s ease, box-shadow .2s ease; }
tbody[id^="cat_"] > tr:hover {
	transform: scale(1.008);
	box-shadow: 0 4px 14px rgba(0,0,0,.25);
	position: relative;
	z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
	tbody[id^="cat_"] > tr:hover { transform: none; }
}

   /* Logo with tagline */
   .gc-logo picture { display: block; }
   .gc-logo img { height: 48px; }
   @media (max-width: 900px) { .gc-logo img { height: 30px; } }


/* Smaller logo, closer to incels.is proportions */
.gc-logo img { height: 38px; }
@media (max-width: 900px) { .gc-logo img { height: 30px; } }

/* Welcome text uses the full content width */
#gc-hero p { max-width: none; }




/* =====================================================================
   Mobile fixes for logged-in pages: User CP / Mod CP / messages content
   first, tidy thread-list header, search results as stacked cards.
   Paste at the bottom of gaycels.css.
   ===================================================================== */
@media (max-width: 900px) {
	/* User CP, private messages, Mod CP: show the page content first and
	   the long side menu after it (instead of having to scroll past the menu) */
	#content > .wrapper > table:not(.tborder) > tbody > tr:has(#usercppms_e, #usercpprofile_e, #usercpmisc_e, #modcpforums_e, #modcpusers_e) {
		display: flex;
		flex-direction: column-reverse;
	}

	/* Thread list header: "Mark this forum read | Subscribe" on its own line */
	.gc-threadlist .thead .float_right { float: none !important; display: block; width: auto; text-align: left; margin: 0 0 4px; }

	/* Search results (threads and posts): each result as a stacked card */
	table.tborder:not(.gc-threadlist):has(tr.inline_row:not(.gc-trow)),
	table.tborder:not(.gc-threadlist):has(tr.inline_row:not(.gc-trow)) > tbody { display: block; }
	table.tborder:not(.gc-threadlist):has(tr.inline_row:not(.gc-trow)) > tbody > tr:not(.inline_row) > td { display: block; }
	table.tborder:not(.gc-threadlist):has(tr.inline_row:not(.gc-trow)) > tbody > tr:has(> td.tcat) { display: none; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		border-bottom: 1px solid #2e3957;
		background: #252e48;
		padding: 8px 10px 10px;
	}
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td {
		display: block;
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
		width: auto !important;
		text-align: left !important;
		white-space: normal !important;
	}
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(1) { flex: 0 0 28px; }      /* status icon */
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(2) { display: none; }        /* post icon */
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(3) { flex: 1 1 calc(100% - 64px); margin-bottom: 4px; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:has(> input[type="checkbox"]) { flex: 0 0 auto; margin-left: auto; order: 0; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(n+4):not(:has(> input[type="checkbox"])) {
		font-size: 12px;
		color: #8f9ab8;
		margin: 0 12px 0 28px;
	}
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(n+5):not(:has(> input[type="checkbox"])) { margin-left: 0; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(n+4) .smalltext br { display: none; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) > td:nth-child(n+4) .smalltext { font-size: 12px; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow) table { width: 100%; }
	/* labels for the bare numbers (threads view: cells 5-6, posts view: cells 6-7) */
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow):not(:has(> td:nth-child(3) table)) > td:nth-child(5)::before,
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow):has(> td:nth-child(3) table) > td:nth-child(6)::before { content: "Replies: "; }
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow):not(:has(> td:nth-child(3) table)) > td:nth-child(6)::before,
	table.tborder:not(.gc-threadlist) tr.inline_row:not(.gc-trow):has(> td:nth-child(3) table) > td:nth-child(7)::before { content: "Views: "; }
}

/* Deleted-thread placeholder row in thread lists */
span.gc-tavatar-deleted {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10%;
	background: #1c2338;
	color: #5b6a8f;
	font-size: 16px;
}
.gc-trow-deleted .gc-ttitle em { color: #8f9ab8; }

/* Deleted-thread row: hide the rating placeholder "-" */
.gc-trow-deleted > td:not([class*="gc-tcell"]):not(:has(input)) { font-size: 0; width: 0; padding: 0 !important; }



/* =====================================================================
   Forum list: aligned columns and a compact two-line last post
   (prefix + title, then date · user), like incels.is.
   Paste at the bottom of gaycels.css.
   ===================================================================== */

/* Counts column: same width in every category */
tbody[id^="cat_"] > tr > td:nth-child(3) {
	width: 96px;
	min-width: 96px;
	white-space: nowrap;
	text-align: right;
	padding-right: 18px !important;
}

/* Last-post column: same width in every category */
tbody[id^="cat_"] > tr > td:nth-child(4) {
	width: 270px;
	min-width: 270px;
	text-align: left !important;
	white-space: normal !important;
}
.gc-flast {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 270px;
	box-sizing: border-box;
}
img.gc-favatar { width: 36px; height: 36px; }
.gc-flast-text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.35;
}
a.gc-flast-title {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 13px;
	color: #e8ecf5 !important;
	text-decoration: none !important;
	transition: color .25s ease;
}
a.gc-flast-title:hover { color: #4fb3ea !important; }
a.gc-flast-title .gc-prefix { font-size: 11px; margin-right: 2px; vertical-align: 1px; }
.gc-flast-meta {
	font-size: 12px;
	color: #8f9ab8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.gc-flast-meta a:link, .gc-flast-meta a:visited { color: #b8c2da !important; }
.gc-flast-meta a:hover { color: #4fb3ea !important; }

/* "Never" starts where the last-post text starts */
.gc-never { display: block; padding-left: 46px; text-align: left; }

/* Link forums (e.g. Rules and FAQ): no "- Topics / - Replies / -" */
tbody[id^="cat_"] > tr:has(.forum_offlink) > td:nth-child(3),
tbody[id^="cat_"] > tr:has(.forum_offlink) > td:nth-child(4) {
	font-size: 0;
	color: transparent;
}

/* Phones: rows are stacked, so drop the fixed widths */
@media (max-width: 900px) {
	tbody[id^="cat_"] > tr > td:nth-child(3),
	tbody[id^="cat_"] > tr > td:nth-child(4) { width: auto; min-width: 0; padding-right: 12px !important; }
	.gc-flast { width: auto; }
	.gc-never { padding-left: 0; }
}
