/*
 * GA forum responsive and UX stability overrides.
 * Loaded after theme stylesheets to safely patch non-responsive templates.
 */

:root {
  --ga-gap-xs: 6px;
  --ga-gap-sm: 10px;
  --ga-gap-md: 14px;
  --ga-radius-sm: 6px;
  --ga-radius-md: 10px;
  --ga-radius-lg: 12px;
  --ga-border: rgba(38, 55, 77, 0.18);
  --ga-border-soft: rgba(38, 55, 77, 0.1);
  --ga-surface: #ffffff;
  --ga-surface-soft: #f7f9fc;
  --ga-shadow-soft: 0 1px 5px rgba(15, 23, 42, 0.05);
  --ga-shadow-card: 0 2px 8px rgba(15, 23, 42, 0.06);
  --ga-focus: rgba(63, 111, 128, 0.22);
  --ga-accent: #2f6e83;
  --ga-accent-contrast: #ffffff;
  --ga-line: rgba(120, 144, 168, 0.2);
  --ga-line-strong: rgba(120, 144, 168, 0.34);
  --ga-line-soft: rgba(120, 144, 168, 0.11);
  --ga-page-current-bg: rgba(120, 144, 168, 0.24);
}

body {
  line-height: 1.45;
}

a:link,
a:visited {
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

#container,
.wrapper {
  max-width: 100%;
}

.wrapper {
  width: auto !important;
  max-width: 1760px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 1900px) {
  .wrapper {
    max-width: 1880px;
  }
}

#content {
  background: var(--bg_panel);
  border: 1px solid var(--ga-line);
  border-radius: var(--ga-radius-lg);
  box-shadow: var(--ga-shadow-soft);
}

.tborder {
  border: 1px solid var(--ga-line);
  border-radius: var(--ga-radius-lg);
  box-shadow: var(--ga-shadow-soft);
  overflow: hidden;
  background: var(--bg_panel);
  padding: 0;
  margin-bottom: 16px;
}

.thead {
  border-bottom: 0;
  padding: 10px;
  letter-spacing: 0.01em;
  font-weight: 700;
}

.tcat {
  border-top: 0;
  border-bottom: 1px solid var(--ga-line-soft);
  padding: 8px;
  font-weight: 700;
}

.trow1,
.trow2 {
  border: 0;
  border-top: 1px solid var(--ga-line-soft);
}

tr:hover > .trow1,
tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.02);
}

.navigation {
  margin-bottom: 10px;
  padding: 8px 10px;
  background: var(--bg_posts);
  border: 1px solid var(--ga-line);
  border-radius: var(--ga-radius-md);
}

.pagination .pagination_current,
.pagination a {
  border-radius: 12px !important;
  min-width: 40px;
  min-height: 36px;
  line-height: 1.2;
  padding: 6px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  letter-spacing: 0.01em;
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.pagination a {
  border: 1px solid var(--ga-line-strong) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.12) 45%, rgba(0, 0, 0, 0.07) 100%), var(--bg_posts) !important;
  color: var(--fgcolor) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.pagination .pagination_current {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.14) 44%, rgba(0, 0, 0, 0.08) 100%), var(--ga-page-current-bg) !important;
  color: var(--fgcolor) !important;
  border: 1px solid var(--ga-line-strong) !important;
  box-shadow: 0 2px 10px rgba(47, 110, 131, 0.18);
}

.pagination a:hover {
  border-color: rgba(0, 0, 0, 0.3) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
  filter: brightness(1.08);
  text-decoration: none;
}

.pagination .pagination_previous,
.pagination .pagination_next,
.pagination .pagination_last,
.pagination .pagination_first {
  border-radius: 999px !important;
  padding-left: 14px;
  padding-right: 14px;
  min-width: auto;
}

.button,
.button_small,
a.button:link,
a.button:visited,
a.button:hover,
a.button:active,
input.button,
input.button_small {
  border-radius: 8px;
  border: 1px solid var(--ga-line-strong) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.11) 46%, rgba(0, 0, 0, 0.08) 100%), var(--bg_posts) !important;
  color: var(--fgcolor) !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
  text-decoration: none !important;
}

.button:hover,
.button_small:hover,
a.button:hover,
input.button:hover,
input.button_small:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
  border-color: rgba(0, 0, 0, 0.34) !important;
  filter: brightness(1.09);
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
select,
textarea {
  border-radius: 8px;
  border: 1px solid var(--ga-line-strong);
  background: var(--bg_panel);
  color: var(--fgcolor);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
  border-color: #4a7d92;
  box-shadow: 0 0 0 3px var(--ga-focus);
  outline: none;
}

.post,
.deleted_post_collapsed {
  border: 1px solid var(--ga-line);
  border-radius: var(--ga-radius-lg);
  box-shadow: var(--ga-shadow-card);
  margin-bottom: 16px;
}

.post .post_author {
  background: var(--bg_post_author);
  border-bottom: 1px solid var(--ga-line-soft);
  padding: 8px 10px;
}

.post .post_head {
  border-bottom: 1px solid var(--ga-line-soft);
  margin-bottom: 8px;
  padding-bottom: 6px;
}

.post_content {
  line-height: 1.58;
}

.post_controls {
  background: var(--bg_posts);
  border-top: 1px solid var(--ga-line-soft);
  padding: 6px;
}

.post.classic .post_author {
  box-shadow: none !important;
}

ul.postbit_buttons,
ul.thread_tools {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ga-gap-xs);
}

.postbit_buttons > a:link,
.postbit_buttons > a:hover,
.postbit_buttons > a:visited,
.postbit_buttons > a:active {
  border-radius: 8px;
  border: 1px solid var(--ga-line-strong) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.09) 44%, rgba(0, 0, 0, 0.06) 100%), var(--bg_posts) !important;
  color: var(--fgcolor) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  font-weight: 700;
}

.postbit_buttons > a:hover {
  border-color: rgba(0, 0, 0, 0.3) !important;
  filter: brightness(1.1);
}

.pagination {
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--ga-gap-xs);
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
}

/*
 * Multipage breadcrumb popup: replace legacy full-width light block with a compact themed panel.
 */
.pagination_breadcrumb {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.04) 100%), var(--bg_posts) !important;
  border: 1px solid var(--ga-line-strong) !important;
  outline: 0 !important;
  border-radius: 12px;
  box-shadow: var(--ga-shadow-soft);
  padding: 8px !important;
  margin-top: 8px;
}

#breadcrumb.multipage_popup.pagination_breadcrumb,
.multipage_popup.pagination_breadcrumb {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ga-gap-xs);
  width: auto;
  max-width: 100%;
  overflow-x: auto;
}

.pagination_breadcrumb .pagination {
  margin: 0;
  padding: 0;
}

.pagination_breadcrumb .pages {
  margin-right: 4px;
  color: inherit !important;
  font-weight: 800;
}

.pagination_breadcrumb_link {
  border-radius: 999px;
  padding: 4px 8px;
  border: 1px solid var(--ga-line-soft);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(0, 0, 0, 0.05) 100%), var(--bg_posts);
}

/* Cleaner thread surfaces: keep structure, reduce visual clutter. */
.post.classic .post_author,
.post.classic .post_content,
.post.classic .post_controls {
  box-shadow: none !important;
}

.post_content .signature {
  border-top: 1px solid var(--ga-line-soft);
}

/*
 * Quote and code blocks: keep contrast readable across themes.
 */
.post_content blockquote,
.post_body blockquote,
.pm_content blockquote {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.03) 100%), var(--quote, #f3f6fb) !important;
  border: 1px solid var(--ga-line-strong) !important;
  border-radius: 10px;
  margin: 10px 0;
  padding: 10px 12px;
  color: inherit;
}

.post_content blockquote cite,
.post_body blockquote cite,
.pm_content blockquote cite {
  margin: 0 0 10px 0;
  padding: 0 0 6px 0;
  border-bottom: 1px solid var(--ga-line);
  color: inherit;
  background: transparent !important;
}

.post_content blockquote cite > span,
.post_body blockquote cite > span,
.pm_content blockquote cite > span {
  margin-left: 0;
  color: inherit;
  opacity: 0.82;
  background: transparent !important;
}

.post_content .codeblock,
.post_body .codeblock,
.pm_content .codeblock {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.04) 100%), var(--quote, #eef3f9) !important;
  border: 1px solid var(--ga-line-strong) !important;
  border-radius: 8px;
  color: inherit;
}

.post_content .codeblock .title,
.post_body .codeblock .title,
.pm_content .codeblock .title {
  border-bottom: 1px solid var(--ga-line);
  color: inherit;
}

.post_content .codeblock code,
.post_body .codeblock code,
.pm_content .codeblock code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  padding: 8px;
  color: inherit;
}

/* Slightly bolder hierarchy for primary navigation labels and forum/thread titles. */
.thead a:link,
.thead a:visited,
.tcat a:link,
.tcat a:visited {
  font-weight: 700;
}

a.forumtitle:link,
a.forumtitle:visited,
a.forumlink:link,
a.forumlink:visited {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.subject_new a:link,
.subject_new a:visited {
  font-weight: 700;
}

.post .post_author .largetext,
.post .post_author .largetext a {
  font-weight: 700 !important;
}

/*
 * Light/default themes (legacy IDs 1/2/3): soften pure-white surfaces.
 */
html.ga-theme-1,
html.ga-theme-2,
html.ga-theme-3 {
  --fgcolor: #223244;
  --link_color: #225f89;
  --ga-light-frame: #e9eef4;
  --ga-light-panel: #f7fafc;
  --ga-light-panel-soft: #f1f5f9;
  --ga-light-row1: #f5f8fb;
  --ga-light-row2: #eef3f8;
  --ga-light-line: rgba(89, 112, 136, 0.2);
  --ga-light-line-strong: rgba(89, 112, 136, 0.32);
  --ga-light-text: #223244;
  --ga-light-muted: #5e7187;
  --ga-light-link: #225f89;
}

html.ga-theme-1 body,
html.ga-theme-2 body,
html.ga-theme-3 body {
  background: linear-gradient(180deg, #f3f6fa 0%, var(--ga-light-frame) 55%, #e5ebf2 100%) !important;
  color: var(--ga-light-text);
}

html.ga-theme-1 #content,
html.ga-theme-1 .tborder,
html.ga-theme-2 #content,
html.ga-theme-2 .tborder,
html.ga-theme-3 #content,
html.ga-theme-3 .tborder {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(234, 241, 248, 0.82) 100%), var(--ga-light-panel) !important;
  border-color: var(--ga-light-line) !important;
}

html.ga-theme-1 .trow1,
html.ga-theme-2 .trow1,
html.ga-theme-3 .trow1 {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(244, 248, 252, 0.9) 100%), var(--ga-light-row1) !important;
  border-top-color: var(--ga-light-line) !important;
}

html.ga-theme-1 .trow2,
html.ga-theme-2 .trow2,
html.ga-theme-3 .trow2 {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 0%, rgba(239, 245, 250, 0.9) 100%), var(--ga-light-row2) !important;
  border-top-color: var(--ga-light-line) !important;
}

html.ga-theme-1 tr:hover > .trow1,
html.ga-theme-1 tr:hover > .trow2,
html.ga-theme-2 tr:hover > .trow1,
html.ga-theme-2 tr:hover > .trow2,
html.ga-theme-3 tr:hover > .trow1,
html.ga-theme-3 tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(52, 105, 150, 0.055);
}

html.ga-theme-1 .navigation,
html.ga-theme-1 .pagination_breadcrumb,
html.ga-theme-2 .navigation,
html.ga-theme-2 .pagination_breadcrumb,
html.ga-theme-3 .navigation,
html.ga-theme-3 .pagination_breadcrumb {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(237, 243, 249, 0.9) 100%), var(--ga-light-panel-soft) !important;
  border-color: var(--ga-light-line-strong) !important;
}

html.ga-theme-1 .post,
html.ga-theme-1 .deleted_post_collapsed,
html.ga-theme-2 .post,
html.ga-theme-2 .deleted_post_collapsed,
html.ga-theme-3 .post,
html.ga-theme-3 .deleted_post_collapsed {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(237, 243, 249, 0.72) 100%), var(--ga-light-panel) !important;
  border-color: var(--ga-light-line) !important;
  box-shadow: 0 2px 8px rgba(26, 41, 58, 0.08);
}

html.ga-theme-1 .post .post_author,
html.ga-theme-2 .post .post_author,
html.ga-theme-3 .post .post_author,
html.ga-theme-1 .post_controls,
html.ga-theme-2 .post_controls,
html.ga-theme-3 .post_controls {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.58) 0%, rgba(233, 240, 247, 0.72) 100%), var(--ga-light-panel-soft) !important;
  border-color: var(--ga-light-line) !important;
}

html.ga-theme-1 .post.classic .post_author,
html.ga-theme-2 .post.classic .post_author,
html.ga-theme-3 .post.classic .post_author {
  border-color: rgba(89, 112, 136, 0.28) !important;
  box-shadow: none !important;
}

html.ga-theme-1 a:link,
html.ga-theme-1 a:visited,
html.ga-theme-2 a:link,
html.ga-theme-2 a:visited,
html.ga-theme-3 a:link,
html.ga-theme-3 a:visited {
  color: var(--ga-light-link);
}

html.ga-theme-1 .thead,
html.ga-theme-2 .thead,
html.ga-theme-3 .thead,
html.ga-theme-1 .tcat,
html.ga-theme-2 .tcat,
html.ga-theme-3 .tcat {
  color: #f2f7ff;
}

html.ga-theme-1 .thead a:link,
html.ga-theme-1 .thead a:visited,
html.ga-theme-1 .tcat a:link,
html.ga-theme-1 .tcat a:visited,
html.ga-theme-2 .thead a:link,
html.ga-theme-2 .thead a:visited,
html.ga-theme-2 .tcat a:link,
html.ga-theme-2 .tcat a:visited,
html.ga-theme-3 .thead a:link,
html.ga-theme-3 .thead a:visited,
html.ga-theme-3 .tcat a:link,
html.ga-theme-3 .tcat a:visited {
  color: #f2f7ff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
}

html.ga-theme-1 .thead a:hover,
html.ga-theme-1 .tcat a:hover,
html.ga-theme-2 .thead a:hover,
html.ga-theme-2 .tcat a:hover,
html.ga-theme-3 .thead a:hover,
html.ga-theme-3 .tcat a:hover {
  color: #ffffff !important;
}

html.ga-theme-1 a.forumtitle:link,
html.ga-theme-1 a.forumtitle:visited,
html.ga-theme-2 a.forumtitle:link,
html.ga-theme-2 a.forumtitle:visited,
html.ga-theme-3 a.forumtitle:link,
html.ga-theme-3 a.forumtitle:visited {
  color: #1d5a84 !important;
  font-weight: 700;
}

html.ga-theme-1 a.forumtitle:hover,
html.ga-theme-2 a.forumtitle:hover,
html.ga-theme-3 a.forumtitle:hover {
  color: #16486a !important;
}

html.ga-theme-1 .subforums a,
html.ga-theme-2 .subforums a,
html.ga-theme-3 .subforums a {
  color: #2f6e98 !important;
}

html.ga-theme-1 .smalltext,
html.ga-theme-2 .smalltext,
html.ga-theme-3 .smalltext {
  color: var(--ga-light-muted);
}

/* Footer selectors (theme/language) should follow active theme colors, not white defaults. */
#footer select,
#footer .theme select,
#footer .language select {
  background: var(--bg_header_and_footer, #1f2f44) !important;
  color: #f3f7fb !important;
  border: 1px solid var(--ga-line-strong) !important;
  border-radius: 8px;
  min-height: 30px;
  padding: 3px 8px;
}

#footer select option,
#footer .theme select option,
#footer .language select option {
  background: #f4f6fa !important;
  color: #182434 !important;
}

#footer select:focus,
#footer .theme select:focus,
#footer .language select:focus {
  border-color: var(--ga-line-strong) !important;
  box-shadow: 0 0 0 3px rgba(127, 155, 181, 0.18);
  outline: none;
}

/*
 * Original Blue themes (legacy IDs 18/19):
 * keep the user card dark and readable.
 */
html.ga-theme-18,
html.ga-theme-19 {
  --ga-ob-card: #0a375d;
  --ga-ob-card-alt: #0d426e;
  --ga-ob-line: rgba(164, 194, 224, 0.27);
  --ga-ob-text: #edf5ff;
  --ga-ob-muted: #d2e0ef;
  --ga-ob-quote: #0b3f69;
  --ga-ob-code: #0a3557;
  --ga-ob-page-top: #0a426b;
  --ga-ob-page-mid: #093e65;
  --ga-ob-page-base: #08385a;
}

html.ga-theme-18 .post.classic .post_author,
html.ga-theme-19 .post.classic .post_author {
  background: linear-gradient(180deg, var(--ga-ob-card-alt) 0%, var(--ga-ob-card) 100%) !important;
  border: 1px solid var(--ga-ob-line) !important;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(3, 20, 36, 0.22);
  padding: 10px 12px;
}

html.ga-theme-18 .post .post_author,
html.ga-theme-19 .post .post_author {
  border-bottom-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-text) !important;
}

html.ga-theme-18 .post .post_author a,
html.ga-theme-18 .post .post_author .smalltext,
html.ga-theme-18 .post .post_author .largetext,
html.ga-theme-18 .post .post_author div.author_information,
html.ga-theme-18 .post .post_author div.author_statistics,
html.ga-theme-19 .post .post_author a,
html.ga-theme-19 .post .post_author .smalltext,
html.ga-theme-19 .post .post_author .largetext,
html.ga-theme-19 .post .post_author div.author_information,
html.ga-theme-19 .post .post_author div.author_statistics {
  color: var(--ga-ob-text) !important;
}

html.ga-theme-18 .post.classic .post_author div.author_statistics,
html.ga-theme-19 .post.classic .post_author div.author_statistics {
  border-top-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-muted) !important;
}

html.ga-theme-18 .post .post_author div.author_avatar img,
html.ga-theme-19 .post .post_author div.author_avatar img {
  border-color: var(--ga-ob-line) !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

html.ga-theme-18 .post .post_head span.post_date,
html.ga-theme-18 .post .post_head span.edited_post,
html.ga-theme-18 .post .post_head span.edited_post a,
html.ga-theme-19 .post .post_head span.post_date,
html.ga-theme-19 .post .post_head span.edited_post,
html.ga-theme-19 .post .post_head span.edited_post a {
  color: #a9bfd6 !important;
}

html.ga-theme-18 .post_content blockquote,
html.ga-theme-18 .post_body blockquote,
html.ga-theme-18 .pm_content blockquote,
html.ga-theme-19 .post_content blockquote,
html.ga-theme-19 .post_body blockquote,
html.ga-theme-19 .pm_content blockquote {
  background: linear-gradient(180deg, rgba(151, 191, 228, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), var(--ga-ob-quote) !important;
  border-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-text) !important;
}

html.ga-theme-18 .post_content blockquote cite,
html.ga-theme-18 .post_body blockquote cite,
html.ga-theme-18 .pm_content blockquote cite,
html.ga-theme-19 .post_content blockquote cite,
html.ga-theme-19 .post_body blockquote cite,
html.ga-theme-19 .pm_content blockquote cite {
  border-bottom-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-muted) !important;
}

html.ga-theme-18 .post_content .codeblock,
html.ga-theme-18 .post_body .codeblock,
html.ga-theme-18 .pm_content .codeblock,
html.ga-theme-19 .post_content .codeblock,
html.ga-theme-19 .post_body .codeblock,
html.ga-theme-19 .pm_content .codeblock {
  background: linear-gradient(180deg, rgba(151, 191, 228, 0.08) 0%, rgba(0, 0, 0, 0.13) 100%), var(--ga-ob-code) !important;
  border-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-text) !important;
}

html.ga-theme-18 .post_content .codeblock code,
html.ga-theme-18 .post_body .codeblock code,
html.ga-theme-18 .pm_content .codeblock code,
html.ga-theme-19 .post_content .codeblock code,
html.ga-theme-19 .post_body .codeblock code,
html.ga-theme-19 .pm_content .codeblock code {
  background: rgba(0, 0, 0, 0.25);
  color: var(--ga-ob-text) !important;
}

/*
 * High-contrast dark themes (legacy theme IDs 14/15):
 * keep forum chrome dark while ensuring thread conversation text stays bright.
 */
html.ga-theme-14,
html.ga-theme-15 {
  --ga-hc-bg: #0a121c;
  --ga-hc-surface: #101b2a;
  --ga-hc-surface-alt: #162336;
  --ga-hc-line: rgba(158, 186, 216, 0.26);
  --ga-hc-text: #edf4ff;
  --ga-hc-muted: #c8d4e3;
  --ga-hc-link: #79beff;
  --ga-hc-quote: #1b2b40;
}

html.ga-theme-14 body,
html.ga-theme-15 body {
  background: var(--ga-hc-bg) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 #content,
html.ga-theme-14 .tborder,
html.ga-theme-15 #content,
html.ga-theme-15 .tborder {
  background: var(--ga-hc-surface) !important;
  border-color: var(--ga-hc-line) !important;
}

html.ga-theme-14 .trow1,
html.ga-theme-14 .trow2,
html.ga-theme-15 .trow1,
html.ga-theme-15 .trow2 {
  background: var(--ga-hc-surface) !important;
  color: var(--ga-hc-text) !important;
  border-top-color: var(--ga-hc-line) !important;
}

html.ga-theme-14 tr:hover > .trow1,
html.ga-theme-14 tr:hover > .trow2,
html.ga-theme-15 tr:hover > .trow1,
html.ga-theme-15 tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(148, 178, 211, 0.08);
}

html.ga-theme-14 .post,
html.ga-theme-14 .deleted_post_collapsed,
html.ga-theme-15 .post,
html.ga-theme-15 .deleted_post_collapsed {
  background: var(--ga-hc-surface) !important;
  border-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post .post_author,
html.ga-theme-15 .post .post_author {
  background: var(--ga-hc-surface-alt) !important;
  border-bottom-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post .post_head,
html.ga-theme-15 .post .post_head {
  border-bottom-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-muted) !important;
}

html.ga-theme-14 .post_body,
html.ga-theme-14 .post_content,
html.ga-theme-14 .post_message,
html.ga-theme-15 .post_body,
html.ga-theme-15 .post_content,
html.ga-theme-15 .post_message {
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post .post_author div.author_statistics,
html.ga-theme-14 .post .post_head span.post_date,
html.ga-theme-14 .post .post_head span.edited_post,
html.ga-theme-14 .post .post_head span.edited_post a,
html.ga-theme-14 .post .post_meta,
html.ga-theme-14 .post .post_meta a,
html.ga-theme-15 .post .post_author div.author_statistics,
html.ga-theme-15 .post .post_head span.post_date,
html.ga-theme-15 .post .post_head span.edited_post,
html.ga-theme-15 .post .post_head span.edited_post a,
html.ga-theme-15 .post .post_meta,
html.ga-theme-15 .post .post_meta a {
  color: var(--ga-hc-muted) !important;
}

html.ga-theme-14 .post_content a,
html.ga-theme-14 .smalltext a,
html.ga-theme-15 .post_content a,
html.ga-theme-15 .smalltext a {
  color: var(--ga-hc-link) !important;
}

html.ga-theme-14 .post_content blockquote,
html.ga-theme-14 .post_body blockquote,
html.ga-theme-14 .pm_content blockquote,
html.ga-theme-15 .post_content blockquote,
html.ga-theme-15 .post_body blockquote,
html.ga-theme-15 .pm_content blockquote {
  background: linear-gradient(180deg, rgba(157, 190, 224, 0.08) 0%, rgba(0, 0, 0, 0.1) 100%), var(--ga-hc-quote) !important;
  border-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post_content blockquote cite,
html.ga-theme-14 .post_body blockquote cite,
html.ga-theme-14 .pm_content blockquote cite,
html.ga-theme-15 .post_content blockquote cite,
html.ga-theme-15 .post_body blockquote cite,
html.ga-theme-15 .pm_content blockquote cite {
  border-bottom-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-muted) !important;
}

html.ga-theme-14 .post_content .codeblock,
html.ga-theme-14 .post_body .codeblock,
html.ga-theme-14 .pm_content .codeblock,
html.ga-theme-15 .post_content .codeblock,
html.ga-theme-15 .post_body .codeblock,
html.ga-theme-15 .pm_content .codeblock {
  background: linear-gradient(180deg, rgba(157, 190, 224, 0.07) 0%, rgba(0, 0, 0, 0.14) 100%), var(--ga-hc-surface-alt) !important;
  border-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post_content .codeblock code,
html.ga-theme-14 .post_body .codeblock code,
html.ga-theme-14 .pm_content .codeblock code,
html.ga-theme-15 .post_content .codeblock code,
html.ga-theme-15 .post_body .codeblock code,
html.ga-theme-15 .pm_content .codeblock code {
  background: rgba(6, 10, 15, 0.45);
  color: var(--ga-hc-text) !important;
}

/*
 * Aggressive polish v3:
 * stronger identity + less visual clutter without changing layout structure.
 */
.trow1,
.trow2 {
  border-top: 0 !important;
}

tr + tr > .trow1,
tr + tr > .trow2 {
  box-shadow: inset 0 1px 0 var(--ga-line-soft);
}

.tborder,
.post,
.deleted_post_collapsed {
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

html.ga-theme-1 .thead,
html.ga-theme-2 .thead,
html.ga-theme-3 .thead {
  background: linear-gradient(180deg, #1b93e2 0%, #0f78c6 56%, #0a609f 100%) !important;
}

html.ga-theme-1 .tcat,
html.ga-theme-2 .tcat,
html.ga-theme-3 .tcat {
  background: linear-gradient(180deg, rgba(33, 39, 46, 0.97) 0%, rgba(15, 19, 25, 0.98) 100%) !important;
  border-bottom: 0 !important;
}

html.ga-theme-1 body,
html.ga-theme-2 body,
html.ga-theme-3 body {
  background:
    radial-gradient(1300px 560px at 50% -200px, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.15) 45%, transparent 70%),
    linear-gradient(180deg, #f1f5fa 0%, #e3eaf2 52%, #d9e2ec 100%) !important;
}

html.ga-theme-1 #content,
html.ga-theme-1 .tborder,
html.ga-theme-2 #content,
html.ga-theme-2 .tborder,
html.ga-theme-3 #content,
html.ga-theme-3 .tborder {
  box-shadow: 0 10px 24px rgba(20, 33, 49, 0.1);
}

html.ga-theme-1 .post,
html.ga-theme-2 .post,
html.ga-theme-3 .post {
  box-shadow: 0 8px 20px rgba(20, 33, 49, 0.09);
}

html.ga-theme-14 .post,
html.ga-theme-15 .post,
html.ga-theme-18 .post,
html.ga-theme-19 .post {
  border-color: rgba(157, 186, 216, 0.18) !important;
}

html.ga-theme-14 .post .post_head,
html.ga-theme-15 .post .post_head,
html.ga-theme-18 .post .post_head,
html.ga-theme-19 .post .post_head {
  border-bottom-color: rgba(157, 186, 216, 0.12) !important;
}

html.ga-theme-14 .post_controls,
html.ga-theme-15 .post_controls,
html.ga-theme-18 .post_controls,
html.ga-theme-19 .post_controls {
  border-top-color: rgba(157, 186, 216, 0.11) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(0, 0, 0, 0.07) 100%), var(--bg_posts) !important;
}

html.ga-theme-14 .post.classic .post_author,
html.ga-theme-15 .post.classic .post_author,
html.ga-theme-18 .post.classic .post_author,
html.ga-theme-19 .post.classic .post_author {
  border-radius: 12px;
}

html.ga-theme-14 #logo,
html.ga-theme-15 #logo {
  background:
    radial-gradient(900px 260px at 20% -80px, rgba(130, 178, 220, 0.18) 0%, rgba(16, 24, 36, 0) 72%),
    linear-gradient(180deg, #132338 0%, #0b1827 100%) !important;
  border-bottom: 1px solid rgba(157, 186, 216, 0.22) !important;
}

/*
 * Aggressive polish v5 (bold + clean):
 * stronger edges and elevation, with fewer internal separators.
 */
:root {
  --ga-line: rgba(95, 125, 155, 0.42);
  --ga-line-strong: rgba(95, 125, 155, 0.64);
  --ga-line-soft: rgba(95, 125, 155, 0.2);
  --ga-shadow-soft: 0 12px 28px rgba(10, 20, 34, 0.16);
  --ga-shadow-card: 0 16px 34px rgba(10, 20, 34, 0.2);
}

#content,
.tborder,
.navigation,
.pagination_breadcrumb,
.post,
.deleted_post_collapsed {
  border-color: var(--ga-line-strong) !important;
  box-shadow: var(--ga-shadow-soft) !important;
}

#content,
.tborder {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(0, 0, 0, 0.03) 100%), var(--bg_panel) !important;
}

.post,
.deleted_post_collapsed {
  border-width: 1px !important;
  box-shadow: var(--ga-shadow-card) !important;
}

.trow1,
.trow2 {
  border-top: 0 !important;
}

tr + tr > .trow1,
tr + tr > .trow2 {
  box-shadow: inset 0 1px 0 var(--ga-line-soft) !important;
}

.tcat {
  border-bottom: 0 !important;
}

.post .post_author,
.post .post_head,
.post_controls,
.post_content .signature {
  border-color: var(--ga-line-soft) !important;
}

.button,
.button_small,
a.button:link,
a.button:visited,
a.button:hover,
a.button:active,
input.button,
input.button_small,
.postbit_buttons > a:link,
.postbit_buttons > a:hover,
.postbit_buttons > a:visited,
.postbit_buttons > a:active,
.pagination a,
.pagination .pagination_current {
  border: 1px solid var(--ga-line-strong) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.14) 44%, rgba(0, 0, 0, 0.1) 100%), var(--bg_posts) !important;
  box-shadow: 0 8px 18px rgba(10, 20, 34, 0.2) !important;
}

.button:hover,
.button_small:hover,
a.button:hover,
input.button:hover,
input.button_small:hover,
.postbit_buttons > a:hover,
.pagination a:hover {
  box-shadow: 0 12px 24px rgba(10, 20, 34, 0.24) !important;
}

html.ga-theme-1 body,
html.ga-theme-2 body,
html.ga-theme-3 body {
  background:
    radial-gradient(1300px 540px at 50% -190px, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.18) 44%, transparent 72%),
    linear-gradient(180deg, #ecf3fa 0%, #dee8f2 52%, #d0dbe8 100%) !important;
}

html.ga-theme-1 #content,
html.ga-theme-1 .tborder,
html.ga-theme-2 #content,
html.ga-theme-2 .tborder,
html.ga-theme-3 #content,
html.ga-theme-3 .tborder {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(233, 241, 250, 0.9) 100%), var(--ga-light-panel) !important;
  border-color: rgba(83, 109, 135, 0.56) !important;
  box-shadow: 0 16px 34px rgba(16, 28, 44, 0.18) !important;
}

html.ga-theme-1 .trow1,
html.ga-theme-2 .trow1,
html.ga-theme-3 .trow1 {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(241, 246, 252, 0.96) 100%), var(--ga-light-row1) !important;
}

html.ga-theme-1 .trow2,
html.ga-theme-2 .trow2,
html.ga-theme-3 .trow2 {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(236, 243, 250, 0.94) 100%), var(--ga-light-row2) !important;
}

html.ga-theme-1 .post,
html.ga-theme-2 .post,
html.ga-theme-3 .post {
  border-color: rgba(83, 109, 135, 0.52) !important;
  box-shadow: 0 14px 30px rgba(16, 28, 44, 0.16) !important;
}

html.ga-theme-1 .thead,
html.ga-theme-2 .thead,
html.ga-theme-3 .thead {
  background: linear-gradient(180deg, #2ca6f2 0%, #1683cf 57%, #0a679f 100%) !important;
}

html.ga-theme-1 .tcat,
html.ga-theme-2 .tcat,
html.ga-theme-3 .tcat {
  background: linear-gradient(180deg, rgba(35, 42, 50, 0.99) 0%, rgba(17, 23, 29, 1) 100%) !important;
}

html.ga-theme-14 body,
html.ga-theme-15 body,
html.ga-theme-18 body,
html.ga-theme-19 body {
  background:
    radial-gradient(1200px 420px at 50% -190px, rgba(124, 174, 220, 0.13) 0%, rgba(10, 19, 30, 0) 66%),
    var(--ga-hc-bg, #0b1624) !important;
}

html.ga-theme-14 #content,
html.ga-theme-14 .tborder,
html.ga-theme-14 .post,
html.ga-theme-15 #content,
html.ga-theme-15 .tborder,
html.ga-theme-15 .post,
html.ga-theme-18 #content,
html.ga-theme-18 .tborder,
html.ga-theme-18 .post,
html.ga-theme-19 #content,
html.ga-theme-19 .tborder,
html.ga-theme-19 .post {
  border-color: rgba(157, 186, 216, 0.34) !important;
  box-shadow: 0 16px 34px rgba(4, 10, 18, 0.4) !important;
}

/*
 * Soft floating v6:
 * opposite direction from aggressive mode:
 * very light borders, fewer separators, gentle floating surfaces.
 */
:root {
  --ga-line: rgba(120, 144, 168, 0.16);
  --ga-line-strong: rgba(120, 144, 168, 0.24);
  --ga-line-soft: rgba(120, 144, 168, 0.09);
  --ga-shadow-soft: 0 8px 22px rgba(15, 23, 42, 0.06);
  --ga-shadow-card: 0 10px 24px rgba(15, 23, 42, 0.07);
}

#content,
.tborder,
.navigation,
.pagination_breadcrumb,
.post,
.deleted_post_collapsed {
  border-color: var(--ga-line) !important;
  box-shadow: var(--ga-shadow-soft) !important;
}

#content,
.tborder {
  background: var(--bg_panel) !important;
}

.post,
.deleted_post_collapsed {
  box-shadow: var(--ga-shadow-card) !important;
}

.trow1,
.trow2 {
  border-top: 0 !important;
}

tr + tr > .trow1,
tr + tr > .trow2 {
  box-shadow: inset 0 1px 0 var(--ga-line-soft) !important;
}

.tcat {
  border-bottom: 0 !important;
}

.post .post_author,
.post .post_head,
.post_controls,
.post_content .signature {
  border-color: var(--ga-line-soft) !important;
}

.button,
.button_small,
a.button:link,
a.button:visited,
a.button:hover,
a.button:active,
input.button,
input.button_small,
.postbit_buttons > a:link,
.postbit_buttons > a:hover,
.postbit_buttons > a:visited,
.postbit_buttons > a:active,
.pagination a,
.pagination .pagination_current {
  border-color: var(--ga-line-strong) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
}

.button:hover,
.button_small:hover,
a.button:hover,
input.button:hover,
input.button_small:hover,
.postbit_buttons > a:hover,
.pagination a:hover {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.11) !important;
}

/* Restore GA Blue background to a lighter blue (not dark charcoal). */
html.ga-theme-18 body,
html.ga-theme-19 body {
  background:
    radial-gradient(1200px 420px at 50% -190px, rgba(131, 196, 243, 0.14) 0%, rgba(10, 65, 104, 0) 66%),
    linear-gradient(180deg, var(--ga-ob-page-top) 0%, var(--ga-ob-page-mid) 54%, var(--ga-ob-page-base) 100%) !important;
}

html.ga-theme-18 #content,
html.ga-theme-18 .tborder,
html.ga-theme-18 .post,
html.ga-theme-19 #content,
html.ga-theme-19 .tborder,
html.ga-theme-19 .post {
  border-color: rgba(162, 194, 223, 0.24) !important;
  box-shadow: 0 10px 24px rgba(4, 16, 30, 0.22) !important;
}

/* Keep high-contrast dark crisp, but less heavy in borders/lines. */
html.ga-theme-14 #content,
html.ga-theme-14 .tborder,
html.ga-theme-14 .post,
html.ga-theme-15 #content,
html.ga-theme-15 .tborder,
html.ga-theme-15 .post {
  border-color: rgba(157, 186, 216, 0.22) !important;
  box-shadow: 0 12px 26px rgba(4, 10, 18, 0.3) !important;
}

/*
 * Ultra clean v7:
 * minimal separators/borders, keep floating feel and current shadows.
 */
#content,
.tborder,
.navigation,
.pagination_breadcrumb,
.post,
.deleted_post_collapsed {
  border-color: rgba(120, 144, 168, 0.1) !important;
}

.trow1,
.trow2 {
  border-top: 0 !important;
}

tr + tr > .trow1,
tr + tr > .trow2 {
  box-shadow: none !important;
}

.tcat {
  border-bottom: 0 !important;
}

.post .post_author,
.post .post_head,
.post_controls,
.post_content .signature {
  border-color: rgba(120, 144, 168, 0.08) !important;
}

.pagination a,
.pagination .pagination_current,
.button,
.button_small,
a.button:link,
a.button:visited,
a.button:hover,
a.button:active,
input.button,
input.button_small,
.postbit_buttons > a:link,
.postbit_buttons > a:hover,
.postbit_buttons > a:visited,
.postbit_buttons > a:active {
  border-color: rgba(120, 144, 168, 0.18) !important;
}

/* Cleaner table surfaces: rely on spacing/shadow more than lines. */
html.ga-theme-1 .trow1,
html.ga-theme-2 .trow1,
html.ga-theme-3 .trow1 {
  background: var(--ga-light-row1) !important;
}

html.ga-theme-1 .trow2,
html.ga-theme-2 .trow2,
html.ga-theme-3 .trow2 {
  background: var(--ga-light-row2) !important;
}

html.ga-theme-14 .trow1,
html.ga-theme-14 .trow2,
html.ga-theme-15 .trow1,
html.ga-theme-15 .trow2,
html.ga-theme-18 .trow1,
html.ga-theme-18 .trow2,
html.ga-theme-19 .trow1,
html.ga-theme-19 .trow2 {
  box-shadow: none !important;
}

/* Bring back row hover on subforums/forums (soft highlight). */
.tborder tr:hover > .trow1,
.tborder tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(88, 138, 186, 0.09) !important;
  transition: box-shadow 0.14s ease, background-color 0.14s ease;
}

html.ga-theme-14 .tborder tr:hover > .trow1,
html.ga-theme-14 .tborder tr:hover > .trow2,
html.ga-theme-15 .tborder tr:hover > .trow1,
html.ga-theme-15 .tborder tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(124, 174, 220, 0.1) !important;
}

html.ga-theme-18 .tborder tr:hover > .trow1,
html.ga-theme-18 .tborder tr:hover > .trow2,
html.ga-theme-19 .tborder tr:hover > .trow1,
html.ga-theme-19 .tborder tr:hover > .trow2 {
  box-shadow: inset 0 0 0 9999px rgba(131, 196, 243, 0.08) !important;
}

/* Navigation block depth boost (breadcrumb/title strip). */
.navigation {
  border-color: rgba(120, 144, 168, 0.18) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.08) 100%), var(--bg_posts) !important;
  box-shadow:
    0 10px 22px rgba(4, 12, 24, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2) !important;
}

.navigation:hover {
  box-shadow:
    0 14px 28px rgba(4, 12, 24, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.24) !important;
}

html.ga-theme-1 .navigation,
html.ga-theme-2 .navigation,
html.ga-theme-3 .navigation {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(231, 239, 247, 0.96) 100%), var(--ga-light-panel-soft) !important;
  box-shadow:
    0 8px 18px rgba(23, 38, 56, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 -1px 0 rgba(120, 144, 168, 0.18) !important;
}

/* Spoiler: match quote visual style across themes. */
.post_content .spoiler,
.post_body .spoiler,
.pm_content .spoiler {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.03) 100%), var(--quote, #f3f6fb) !important;
  border: 1px solid var(--ga-line-strong) !important;
  border-radius: 10px !important;
  margin: 10px 0 !important;
  overflow: hidden;
}

.post_content .spoiler .spoiler_title,
.post_body .spoiler .spoiler_title,
.pm_content .spoiler .spoiler_title {
  margin: 0 !important;
  text-align: center !important;
}

.post_content .spoiler .spoiler_button,
.post_body .spoiler .spoiler_button,
.pm_content .spoiler .spoiler_button {
  display: block;
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ga-line) !important;
  border-radius: 0 !important;
  color: inherit !important;
  text-shadow: none !important;
  font: inherit !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 0 6px 0 !important;
  text-align: center !important;
  justify-content: center !important;
}

.post_content .spoiler .spoiler_title a,
.post_body .spoiler .spoiler_title a,
.pm_content .spoiler .spoiler_title a,
.post_content .spoiler .spoiler_button a,
.post_body .spoiler .spoiler_button a,
.pm_content .spoiler .spoiler_button a {
  display: block;
  width: 100%;
  text-align: center !important;
}

.post_content .spoiler .spoiler_content,
.post_body .spoiler .spoiler_content,
.pm_content .spoiler .spoiler_content {
  width: auto !important;
  padding: 10px 12px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.03) 100%), var(--quote, #f3f6fb) !important;
  color: inherit !important;
}

.post_content .spoiler .spoiler_content_title,
.post_body .spoiler .spoiler_content_title,
.pm_content .spoiler .spoiler_content_title {
  border-bottom: 1px solid var(--ga-line) !important;
  margin: 0 0 10px 0 !important;
  padding: 0 0 6px 0 !important;
  color: inherit !important;
}

html.ga-theme-18 .post_content .spoiler,
html.ga-theme-18 .post_body .spoiler,
html.ga-theme-18 .pm_content .spoiler,
html.ga-theme-19 .post_content .spoiler,
html.ga-theme-19 .post_body .spoiler,
html.ga-theme-19 .pm_content .spoiler,
html.ga-theme-18 .post_content .spoiler .spoiler_button,
html.ga-theme-18 .post_body .spoiler .spoiler_button,
html.ga-theme-18 .pm_content .spoiler .spoiler_button,
html.ga-theme-19 .post_content .spoiler .spoiler_button,
html.ga-theme-19 .post_body .spoiler .spoiler_button,
html.ga-theme-19 .pm_content .spoiler .spoiler_button,
html.ga-theme-18 .post_content .spoiler .spoiler_content,
html.ga-theme-18 .post_body .spoiler .spoiler_content,
html.ga-theme-18 .pm_content .spoiler .spoiler_content,
html.ga-theme-19 .post_content .spoiler .spoiler_content,
html.ga-theme-19 .post_body .spoiler .spoiler_content,
html.ga-theme-19 .pm_content .spoiler .spoiler_content {
  background: linear-gradient(180deg, rgba(151, 191, 228, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%), var(--ga-ob-quote) !important;
  border-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-text) !important;
}

html.ga-theme-18 .post_content .spoiler .spoiler_button,
html.ga-theme-18 .post_body .spoiler .spoiler_button,
html.ga-theme-18 .pm_content .spoiler .spoiler_button,
html.ga-theme-19 .post_content .spoiler .spoiler_button,
html.ga-theme-19 .post_body .spoiler .spoiler_button,
html.ga-theme-19 .pm_content .spoiler .spoiler_button {
  background: transparent !important;
  border-bottom-color: var(--ga-ob-line) !important;
  color: var(--ga-ob-muted) !important;
}

html.ga-theme-14 .post_content .spoiler,
html.ga-theme-14 .post_body .spoiler,
html.ga-theme-14 .pm_content .spoiler,
html.ga-theme-15 .post_content .spoiler,
html.ga-theme-15 .post_body .spoiler,
html.ga-theme-15 .pm_content .spoiler,
html.ga-theme-14 .post_content .spoiler .spoiler_button,
html.ga-theme-14 .post_body .spoiler .spoiler_button,
html.ga-theme-14 .pm_content .spoiler .spoiler_button,
html.ga-theme-15 .post_content .spoiler .spoiler_button,
html.ga-theme-15 .post_body .spoiler .spoiler_button,
html.ga-theme-15 .pm_content .spoiler .spoiler_button,
html.ga-theme-14 .post_content .spoiler .spoiler_content,
html.ga-theme-14 .post_body .spoiler .spoiler_content,
html.ga-theme-14 .pm_content .spoiler .spoiler_content,
html.ga-theme-15 .post_content .spoiler .spoiler_content,
html.ga-theme-15 .post_body .spoiler .spoiler_content,
html.ga-theme-15 .pm_content .spoiler .spoiler_content {
  background: linear-gradient(180deg, rgba(157, 190, 224, 0.08) 0%, rgba(0, 0, 0, 0.1) 100%), var(--ga-hc-quote) !important;
  border-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-text) !important;
}

html.ga-theme-14 .post_content .spoiler .spoiler_button,
html.ga-theme-14 .post_body .spoiler .spoiler_button,
html.ga-theme-14 .pm_content .spoiler .spoiler_button,
html.ga-theme-15 .post_content .spoiler .spoiler_button,
html.ga-theme-15 .post_body .spoiler .spoiler_button,
html.ga-theme-15 .pm_content .spoiler .spoiler_button {
  background: transparent !important;
  border-bottom-color: var(--ga-hc-line) !important;
  color: var(--ga-hc-muted) !important;
}

/*
 * MyAlerts modal (high-contrast themes):
 * remove bright footer strip so popup stays visually consistent.
 */
html.ga-theme-14 #myalerts_alerts_modal .tborder,
html.ga-theme-15 #myalerts_alerts_modal .tborder {
  background: var(--ga-hc-surface) !important;
  border-color: var(--ga-hc-line) !important;
  border-radius: 10px;
  overflow: hidden;
}

html.ga-theme-14 #myalerts_alerts_modal .tfoot,
html.ga-theme-15 #myalerts_alerts_modal .tfoot {
  background: linear-gradient(180deg, rgba(157, 190, 224, 0.07) 0%, rgba(0, 0, 0, 0.18) 100%), var(--ga-hc-surface-alt) !important;
  border-top: 1px solid var(--ga-hc-line) !important;
  color: var(--ga-hc-muted) !important;
}

html.ga-theme-14 #myalerts_alerts_modal .tfoot a,
html.ga-theme-15 #myalerts_alerts_modal .tfoot a {
  color: var(--ga-hc-link) !important;
}

html.ga-theme-14 #myalerts_alerts_modal .tfoot a:hover,
html.ga-theme-15 #myalerts_alerts_modal .tfoot a:hover {
  color: #a9d8ff !important;
}

html.ga-theme-14 #myalerts_alerts_modal #unreadOnlyCheckbox + label,
html.ga-theme-15 #myalerts_alerts_modal #unreadOnlyCheckbox + label {
  color: var(--ga-hc-muted) !important;
}

html.ga-theme-14 #myalerts_alerts_modal #unreadOnlyCheckbox,
html.ga-theme-15 #myalerts_alerts_modal #unreadOnlyCheckbox {
  accent-color: #79beff;
}

/*
 * Pagination clarity:
 * make the active page obvious and keep other pages visually secondary.
 */
.pagination {
  gap: 6px !important;
}

.pagination a {
  min-width: 34px !important;
  min-height: 30px !important;
  padding: 4px 10px !important;
  font-size: 0.94em;
  opacity: 0.84;
  border-color: rgba(120, 144, 168, 0.24) !important;
  box-shadow: 0 2px 8px rgba(10, 20, 34, 0.12) !important;
}

.pagination a:hover,
.pagination a:focus-visible {
  opacity: 1;
}

.pagination .pagination_current {
  opacity: 1 !important;
  min-width: 38px;
  min-height: 32px;
  padding: 4px 10px !important;
  font-weight: 900;
  letter-spacing: 0.02em;
  font-size: 0.96em;
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(211, 234, 255, 0.9) !important;
  background: linear-gradient(180deg, #49b3f4 0%, #1d8bd7 56%, #116eae 100%) !important;
  box-shadow:
    0 0 0 2px rgba(70, 161, 225, 0.34),
    0 10px 20px rgba(6, 18, 32, 0.36) !important;
  transform: translateY(-1px);
}

.pagination .pagination_previous,
.pagination .pagination_next,
.pagination .pagination_first,
.pagination .pagination_last {
  opacity: 0.95;
}

html.ga-theme-1 .pagination .pagination_current,
html.ga-theme-2 .pagination .pagination_current,
html.ga-theme-3 .pagination .pagination_current {
  border-color: rgba(163, 210, 244, 0.9) !important;
  box-shadow:
    0 0 0 2px rgba(42, 126, 189, 0.24),
    0 8px 18px rgba(17, 34, 51, 0.22) !important;
}

html.ga-theme-14 .pagination .pagination_current,
html.ga-theme-15 .pagination .pagination_current,
html.ga-theme-18 .pagination .pagination_current,
html.ga-theme-19 .pagination .pagination_current {
  border-color: rgba(186, 223, 252, 0.86) !important;
  box-shadow:
    0 0 0 2px rgba(88, 162, 219, 0.38),
    0 10px 22px rgba(3, 11, 20, 0.5) !important;
}

/*
 * Header search contrast:
 * keep native sizing, only improve readability across themes.
 */
#search input.button {
  color: #ffffff !important;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(140, 188, 223, 0.9) !important;
  background: linear-gradient(180deg, #39adf7 0%, #1f8fd9 56%, #10679f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 1px 3px rgba(0, 0, 0, 0.28) !important;
}

#search input.button:hover {
  border-color: rgba(177, 217, 246, 0.95) !important;
  filter: brightness(1.06);
}

#search input.textbox {
  color: #eaf4ff !important;
  background: linear-gradient(180deg, rgba(6, 20, 34, 0.82) 0%, rgba(4, 14, 25, 0.88) 100%) !important;
  border-color: rgba(140, 188, 223, 0.66) !important;
  text-shadow: none !important;
  caret-color: #ffffff;
}

#search input.textbox::placeholder {
  color: rgba(205, 224, 242, 0.72) !important;
  opacity: 1;
}

#search input.textbox:focus {
  border-color: rgba(177, 217, 246, 0.95) !important;
  box-shadow:
    0 0 0 2px rgba(78, 154, 214, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.09) !important;
  outline: none;
}

/*
 * Keep only the main page frame and post shells square.
 */
#content,
.post,
.deleted_post_collapsed {
  border-radius: 0 !important;
}

/*
 * Force-hide thread paging popup (always collapsed).
 */
#breadcrumb_multipage_popup,
#breadcrumb_multipage_popup.pagination_breadcrumb,
#breadcrumb.multipage_popup.pagination_breadcrumb,
.multipage_popup.pagination_breadcrumb,
.navigation .pagination.pagination_breadcrumb {
  display: none !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.pagination_breadcrumb_link,
#breadcrumb_multipage {
  display: none !important;
}

/* Keep any nav-embedded multipage strip collapsed in case of template variants. */
.navigation > .pagination {
  display: none !important;
}

@media (max-width: 1024px) {
  body {
    min-width: 0 !important;
  }

  .wrapper {
    padding-left: var(--ga-gap-sm);
    padding-right: var(--ga-gap-sm);
  }

  table {
    width: 100%;
  }

  .tborder {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .forumdisplay_regular .smalltext,
  .forumdisplay_regular .author {
    float: none !important;
    display: block;
    text-align: left;
  }
}

@media (min-width: 1400px) {
  #container {
    font-size: 15px;
  }

  .smalltext {
    font-size: 12.5px;
  }
}

@media (max-width: 768px) {
  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  .post_body,
  .post_content,
  .post_message,
  .pm_content,
  .smalltext {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  select,
  textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .post_controls,
  ul.postbit_buttons,
  .thread_tools,
  .popup_menu,
  #panel ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ga-gap-xs);
  }

  .pagination_breadcrumb {
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    padding-bottom: var(--ga-gap-xs);
  }

  .forumdisplay_regular,
  .forumdisplay_sticky,
  .forumdisplay_thread {
    min-width: 0;
  }

  .thead,
  .tcat {
    border-radius: var(--ga-radius-sm) var(--ga-radius-sm) 0 0;
  }

  .button,
  .button_small,
  input.button,
  input.button_small {
    min-height: 34px;
    padding: 6px 10px;
  }
}

/*
 * Sponsors page
 */

.ga-sponsors-page {
  display: grid;
  gap: 10px;
}

.ga-sponsors-intro,
.ga-sponsors-directory,
.ga-sponsors-viewer {
  margin: 0;
  padding: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03), 0 3px 12px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.ga-sponsors-intro-copy {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
}

.ga-sponsors-section-body,
.ga-sponsors-viewer-body {
  padding: 10px 12px;
}

.ga-sponsors-section-body {
  display: grid;
  gap: 8px;
}

.ga-sponsors-viewer-body {
  display: grid;
  gap: 12px;
}

.ga-sponsors-eyebrow {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: inherit;
}

.ga-sponsors-title {
  margin: 0;
  font-size: clamp(1.15rem, 1.3vw, 1.45rem);
  line-height: 1.25;
}

.ga-sponsors-summary {
  margin: 0;
  max-width: 78ch;
  font-size: 0.95rem;
  line-height: 1.5;
}

.ga-sponsors-layout {
  display: grid;
  grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.ga-sponsors-directory,
.ga-sponsors-viewer {
  padding: 0;
}

.ga-sponsors-viewer {
  align-self: start;
  position: sticky;
  top: 14px;
}

.ga-sponsors-section-head {
  margin: 0;
  border-radius: 0;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}

.ga-sponsors-section-head h1,
.ga-sponsors-section-head h2,
.ga-sponsors-section-head p {
  margin: 0;
  color: inherit;
}

.ga-sponsors-section-head h2 {
  margin-bottom: 6px;
  font-size: 1rem;
}

.ga-sponsors-section-head p {
  margin-bottom: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  opacity: 0.92;
}

.ga-sponsors-section-head-viewer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.ga-sponsors-section-head-copy {
  min-width: 0;
}

.ga-sponsors-section-head-viewer h2 {
  margin-bottom: 6px;
}

.ga-sponsors-section-head .ga-sponsors-eyebrow,
.ga-sponsors-section-head .ga-sponsor-current-source {
  color: inherit;
  opacity: 0.88;
}

.ga-sponsor-current-source {
  margin: 8px 0 0;
  font-size: 0.88rem;
  font-weight: 700;
}

.ga-sponsor-card {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.02), 0 2px 6px rgba(0, 0, 0, 0.03);
  border-width: 1px;
  border-style: solid;
  transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.ga-sponsor-card + .ga-sponsor-card {
  margin-top: 16px;
}

.ga-sponsor-card.is-active-sponsor {
  border-color: var(--ga-line-strong);
  box-shadow: inset 3px 0 0 var(--bg_header_and_footer);
}

.ga-sponsor-card-clickable {
  cursor: pointer;
}

.ga-sponsor-card-clickable:hover {
  border-color: var(--ga-line-strong);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.ga-sponsor-card-overview {
  display: grid;
  gap: 0;
  background: var(--bg_posts);
}

.ga-sponsor-card-clickable:focus-visible {
  outline: 1px dotted currentColor;
  outline-offset: 2px;
  box-shadow: none;
}

.ga-sponsor-card-head {
  display: grid;
  gap: 2px;
  padding: 10px;
  background: transparent;
  color: inherit;
  border-bottom: 0;
}

.ga-sponsor-card-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.ga-sponsor-name {
  margin: 0;
  font-size: 1.03rem;
  color: inherit;
}

.ga-sponsor-domain {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--link_color);
  word-break: break-word;
}

.ga-sponsor-description {
  margin: 0;
  padding: 4px 10px 0;
  font-size: 0.92rem;
  line-height: 1.45;
}

.ga-sponsor-view-switch {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  width: fit-content;
  margin: 10px 10px 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.ga-sponsor-view-switcher {
  appearance: none;
  margin: 0 !important;
  min-height: auto;
}

.ga-sponsor-view-switcher.is-active {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.14);
}

.ga-sponsor-view-switcher:focus-visible {
  outline: 1px dotted currentColor;
  outline-offset: 2px;
}

.ga-sponsor-card-panels {
  display: grid;
  margin-top: 10px;
  padding: 10px;
  border-top: 1px solid var(--ga-line-soft);
  background: transparent;
}

.ga-sponsor-card-panel {
  display: none;
}

.ga-sponsor-card-panel.is-active {
  display: grid;
  gap: 10px;
}

.ga-sponsor-panel-title {
  margin: 0;
  padding: 0 0 7px;
  border-bottom: 1px solid var(--ga-line-soft);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--link_color);
}

.ga-sponsor-panel-body {
  display: grid;
  gap: 8px;
  padding: 8px 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ga-sponsor-product-grid {
  display: grid;
  gap: 6px;
}

.ga-sponsor-product-card,
.ga-sponsor-website-card {
  display: grid;
  gap: 5px;
  padding: 8px 10px 8px 12px;
  border: 0;
  border-left: 3px solid var(--ga-line);
  border-radius: 0;
  background: transparent;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: border-left-color 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease;
}

.ga-sponsor-product-card:hover,
.ga-sponsor-website-card:hover {
  border-left-color: var(--ga-line-strong);
  background: rgba(255, 255, 255, 0.02);
  box-shadow: none;
  text-decoration: none !important;
}

.ga-sponsor-card-chip {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 2px 7px;
  border: 1px solid var(--ga-line-soft);
  border-radius: 2px;
  background: transparent;
  color: var(--link_color);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ga-sponsor-product-title,
.ga-sponsor-website-title {
  font-weight: 700;
  font-size: 0.97rem;
}

.ga-sponsor-product-description,
.ga-sponsor-website-description {
  font-size: 0.89rem;
  line-height: 1.42;
}

.ga-sponsor-target.is-active,
.ga-sponsor-product-card.is-active,
.ga-sponsor-website-card.is-active {
  border-left-color: var(--bg_header_and_footer);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
}

.ga-sponsor-card .ga-sponsor-product-card.trow1,
.ga-sponsor-card .ga-sponsor-product-card.trow2,
.ga-sponsor-card .ga-sponsor-website-card.trow1,
.ga-sponsor-card .ga-sponsor-website-card.trow2 {
  border: 0;
  border-left: 3px solid var(--ga-line);
}

.ga-sponsor-viewer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ga-sponsor-viewer-actions .button,
.ga-sponsor-viewer-actions .button_small,
.ga-sponsor-fallback .button,
.ga-sponsor-fallback .button_small {
  margin-top: 0 !important;
}

.ga-sponsor-viewer-status {
  min-height: 1.25rem;
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--link_color);
}

.ga-sponsors-viewer.is-loading .ga-sponsor-viewer-status {
  opacity: 1;
}

.ga-sponsor-frame-shell {
  overflow: hidden;
  border: 1px solid var(--ga-line);
  background: var(--bg_panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.ga-sponsors-viewer.is-loading .ga-sponsor-frame-shell {
  background: linear-gradient(180deg, var(--bg_posts) 0%, var(--bg_panel) 100%);
}

.ga-sponsor-frame {
  display: block;
  width: 100%;
  height: 720px;
  min-height: 720px;
  border: 0;
  background: #ffffff;
}

.ga-sponsor-fallback {
  display: grid;
  gap: 10px;
  align-content: center;
  justify-items: start;
  min-height: 320px;
  padding: 18px;
  border: 1px solid var(--ga-line);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(0, 0, 0, 0.02) 100%), var(--bg_posts);
}

.ga-sponsor-fallback h3,
.ga-sponsor-fallback p {
  margin: 0;
}

.ga-sponsors-viewer.is-external-only .ga-sponsor-viewer-status {
  color: var(--fgcolor);
}

.ga-is-hidden {
  display: none !important;
}

.ga-sponsor-viewer-note {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (max-width: 1200px) {
  .ga-sponsors-layout {
    grid-template-columns: minmax(280px, 370px) minmax(0, 1fr);
  }

  .ga-sponsor-frame {
    height: 660px;
  }
}

@media (max-width: 960px) {
  .ga-sponsors-layout {
    grid-template-columns: 1fr;
  }

  .ga-sponsors-viewer {
    position: static;
  }
}

@media (max-width: 768px) {
  .ga-sponsors-intro-copy,
  .ga-sponsors-section-body,
  .ga-sponsors-viewer-body {
    padding: 10px;
  }

  .ga-sponsors-section-head-viewer {
    flex-direction: column;
  }

  .ga-sponsor-view-switch {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ga-sponsor-view-switcher {
    flex: 0 0 auto;
    text-align: center;
  }

  .ga-sponsor-frame {
    height: 72vh;
  }

  .ga-sponsor-fallback {
    min-height: 260px;
    padding: 18px;
  }
}

