/* Unified GC Game Changer midnight theme. Loaded last on every application page. */
:root,
[data-theme="dark"],
[data-theme="light"] {
  --bg-primary: #080b18;
  --bg-secondary: #0b1124;
  --bg-card: #0f1730;
  --bg-card-hover: #152044;
  --accent: #7c5cff;
  --accent-copper: #7c5cff;
  --accent-copper-light: #9b87ff;
  --accent-gradient: linear-gradient(135deg, #6650e8 0%, #7c5cff 52%, #22d3ee 100%);
  --accent-gradient-hover: linear-gradient(135deg, #7662f0 0%, #927cff 52%, #67e8f9 100%);
  --text-primary: #f5f7ff;
  --text-secondary: #a9b4d0;
  --text-muted: #7481a5;
  --border: #28365f;
  --line: #28365f;
  --panel: #0f1730;
  --shadow: rgba(0, 0, 0, .36);
  color-scheme: dark;
}

html,
body {
  background: #080b18;
  color: #f5f7ff;
}

body::before {
  background-image:
    radial-gradient(circle at 82% 4%, rgba(34, 211, 238, .055), transparent 28rem),
    radial-gradient(circle at 38% 14%, rgba(124, 92, 255, .08), transparent 34rem);
}

/* Shared dashboard surfaces */
.qv-main,
.prediction-main,
.tx-main,
.profile-main,
.deposit-main,
main {
  background-color: #080b18;
}

.prediction-card,
.execution-card,
.running-card,
.tx-card,
.tx-empty,
.identity-card,
.profile-panel,
.rank-card,
.team-summary,
.member,
.deposit-card,
.deposit-panel,
.reset-card,
.modal-card,
.transfer-sheet {
  border-color: #28365f !important;
  background-color: #0f1730 !important;
  background-image: linear-gradient(145deg, rgba(20, 31, 66, .98), rgba(11, 17, 36, .98)) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24);
}

input,
select,
textarea {
  border-color: #31416f !important;
  background: #0a1023 !important;
  color: #f5f7ff !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #7c5cff !important;
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .17);
  outline: 0;
}

.primary-button,
.reset-action,
.reset-form button,
button[type="submit"] {
  border-color: transparent;
  background: linear-gradient(135deg, #6650e8, #7c5cff 58%, #22d3ee) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(103, 80, 232, .22);
}

/* Profile, rewards, transactions and mobile navigation */
.side-user > div,
.identity-avatar,
.member > span {
  border-color: #22d3ee !important;
  background: #13244a !important;
  color: #67e8f9 !important;
}

.identity-card span:not(.verified),
.security-state:not(.on),
.security-row > span:not(.ok),
.rank-head p b {
  background: rgba(124, 92, 255, .16) !important;
  color: #c4b5fd !important;
}

.profile-tabs button.active,
.tabs button.active {
  border-color: #7c5cff !important;
  color: #c4b5fd !important;
}

.progress {
  background: #090f20 !important;
}

.progress i {
  background: linear-gradient(90deg, #7c5cff, #22d3ee) !important;
}

.profile-bottom,
.tx-bottom,
.bottom {
  border-color: #28365f !important;
  background: rgba(11, 17, 36, .96) !important;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, .28);
  backdrop-filter: blur(16px);
}

.profile-bottom a.active,
.tx-bottom a.active,
.bottom a.active {
  color: #67e8f9 !important;
}

/* Public/auth pages */
.site-header,
.navbar,
.cf-nav,
.site-footer,
.cf-footer,
.faq-item,
.feature-card,
.service-card,
.contact-card,
.auth-card {
  border-color: #28365f !important;
  background-color: #0d142b !important;
}

::selection {
  background: rgba(124, 92, 255, .55);
  color: #fff;
}

/* Final dashboard detail pass */
.prediction-profile,
.prediction-card-head,
.execution > header {
  border-color: #28365f !important;
  background: #111a38 !important;
}

.prediction-mark,
.prediction-balance-floating span,
.running-investments > header > strong,
.tx-empty i,
.transfer-sheet i,
.share-intro > i {
  border-color: #344579 !important;
  background: linear-gradient(145deg, #20275a, #152044) !important;
  color: #67e8f9 !important;
}

.prediction-balance-floating span {
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 10px 26px rgba(2, 6, 23, .2);
  color: #9ba9cb !important;
}

.prediction-balance-floating b,
.terminal-empty p {
  color: #f5f7ff !important;
}

.execution {
  border-color: #334574 !important;
  background: linear-gradient(155deg, #091329, #070d20) !important;
}

.terminal-body {
  background-image: radial-gradient(circle at 50% 45%, rgba(124, 92, 255, .09), transparent 48%);
}

.terminal-empty {
  color: #aab5d1 !important;
}

.terminal-empty small,
.no-investments {
  color: #7f8db2 !important;
}

.investment-list article,
.reward-values p,
.member-spot,
.withdraw-charges,
.preview-details,
.share-value,
.deposit-modal,
.networks span {
  border-color: #28365f !important;
  background: #0c142b !important;
}

.networks input:checked + span {
  border-color: #7c5cff !important;
  background: #1a234a !important;
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .12);
}

.warning-box,
.preview-warning {
  border-color: #5b4d84 !important;
  background: #181633 !important;
  color: #aeb8d4 !important;
}

.warning-box b,
.warning-box li::marker,
.preview-warning b {
  color: #c4b5fd !important;
}

.transfer-sheet,
.withdraw-sheet > header,
.preview-actions {
  border-color: #28365f !important;
  background-color: #0b1124 !important;
}

.transfer-sheet form button:not(:disabled),
.share-value button {
  border-color: #5045a0 !important;
  background: #1d2550 !important;
  color: #67e8f9 !important;
}

.tx-value span:not(.received):not(.error),
.rank-head > small,
.fixture-card header em {
  background: rgba(124, 92, 255, .15) !important;
  color: #c4b5fd !important;
}

@media (max-width: 760px) {
  .deposit-main header,
  .withdraw-sheet > header,
  .preview-actions {
    background: rgba(8, 11, 24, .97) !important;
    backdrop-filter: blur(16px);
  }
}

/* Transaction status details */
.tx-main h1 span {
  color: #67e8f9 !important;
}

.tx-icon.failed {
  border: 1px solid #7f3040 !important;
  background: #35131d !important;
  color: #ff6b81 !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 129, .06);
}

.tx-value span.error {
  border: 1px solid #7f3040 !important;
  background: #35131d !important;
  color: #ff8b9c !important;
}

.tx-card:has(.tx-value span.error) .tx-value b {
  color: #ff6b81 !important;
}

.tx-card.received {
  border-color: #225c48 !important;
}

.tx-icon.received {
  border: 1px solid #257052 !important;
  background: #0d3023 !important;
  color: #39e394 !important;
  box-shadow: 0 0 0 3px rgba(57, 227, 148, .06);
}

.tx-value b.received,
.tx-value span.received {
  color: #39e394 !important;
}

.tx-value span.received {
  border: 1px solid #257052 !important;
  background: #0d3023 !important;
}

.tx-icon.pending {
  border: 1px solid #40517e !important;
  background: #17213f !important;
  color: #9dabcf !important;
}

.tx-value b.pending {
  color: #c4ccec !important;
}

/* Destructive account action */
.app-sidebar-footer > a,
.app-sidebar-footer > a span,
.app-sidebar-footer > a svg {
  color: #ff5f73 !important;
  stroke: #ff5f73 !important;
}

.app-sidebar-footer > a:hover {
  background: rgba(255, 95, 115, .09) !important;
  color: #ff8b9c !important;
}

/* Sports prediction landing experience */
.cf-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 36%, rgba(34, 211, 238, .13), transparent 29rem),
    radial-gradient(circle at 18% 28%, rgba(124, 92, 255, .16), transparent 34rem),
    linear-gradient(145deg, #080b18, #0b1124 58%, #081522) !important;
}

.cf-hero h1 {
  max-width: 760px;
  letter-spacing: -.045em;
}

.sports-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 27px;
}

.sports-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #29375f;
  border-radius: 999px;
  background: rgba(15, 23, 48, .78);
  padding: 7px 11px 7px 7px;
  color: #aeb9d6;
  font-size: 10px;
}

.sports-hero-points i {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c5cff, #22d3ee);
  color: #fff;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}

.sports-orbit-scene .ai-core {
  border-color: rgba(34, 211, 238, .48) !important;
  background: radial-gradient(circle at 50% 42%, #20275a, #0b1124 68%) !important;
  box-shadow: 0 0 0 12px rgba(124, 92, 255, .07), 0 25px 75px rgba(2, 6, 23, .55) !important;
}

.sports-orbit-scene .ai-core-bot {
  color: #67e8f9 !important;
  filter: drop-shadow(0 0 12px rgba(34, 211, 238, .34));
}

.sports-orbit-scene .ai-core strong {
  color: #c4b5fd !important;
  letter-spacing: .18em;
}

.sports-orbit-scene .orbit-card {
  border-color: #344579 !important;
  background: rgba(12, 20, 43, .93) !important;
  box-shadow: 0 18px 45px rgba(2, 6, 23, .42) !important;
}

.sports-orbit-scene .orbit-card b,
.sports-orbit-scene .orbit-caption i {
  color: #67e8f9 !important;
}

.sports-orbit-scene .orbit-market-line path {
  stroke: #22d3ee !important;
  filter: drop-shadow(0 0 6px rgba(34, 211, 238, .48));
}

.cf-services-grid .cf-service-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #111a38, #0b1124) !important;
}

.cf-services-grid .cf-service-card::after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: -55px;
  width: 115px;
  height: 115px;
  border: 1px solid rgba(34, 211, 238, .09);
  border-radius: 50%;
}

.cf-services-grid .cf-card-icon {
  border: 1px solid #44518d !important;
  background: linear-gradient(145deg, #24275d, #17213f) !important;
  color: #67e8f9 !important;
}

@media (max-width: 560px) {
  .sports-hero-points {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.sports-hero-visual {
  position: relative;
  width: min(660px, 100%);
  margin: 0;
  isolation: isolate;
}

.sports-hero-visual::before {
  content: "";
  position: absolute;
  inset: 8% -3% -6% 8%;
  z-index: -1;
  border-radius: 50%;
  background: rgba(34, 211, 238, .15);
  filter: blur(65px);
}

.sports-hero-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 57% center;
  border: 1px solid rgba(103, 232, 249, .24);
  border-radius: 26px;
  box-shadow: 0 35px 90px rgba(2, 6, 23, .58), inset 0 1px rgba(255, 255, 255, .08);
}

.sports-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 26px;
  background: linear-gradient(90deg, rgba(8, 11, 24, .32), transparent 35% 78%, rgba(8, 11, 24, .08));
  pointer-events: none;
}

.sports-hero-visual figcaption {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  min-width: 235px;
  border: 1px solid #3c4c7d;
  border-radius: 14px;
  background: rgba(8, 14, 32, .87);
  padding: 13px 15px;
  box-shadow: 0 18px 45px rgba(2, 6, 23, .5);
  backdrop-filter: blur(15px);
}

.sports-hero-visual figcaption span,
.sports-hero-visual figcaption strong,
.sports-hero-visual figcaption small {
  display: block;
}

.sports-hero-visual figcaption span {
  color: #67e8f9;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sports-hero-visual figcaption span i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #39e394;
  box-shadow: 0 0 10px #39e394;
}

.sports-hero-visual figcaption strong {
  margin-top: 6px;
  color: #fff;
  font-size: 13px;
}

.sports-hero-visual figcaption small {
  margin-top: 5px;
  color: #95a2c4;
  font-size: 9px;
}

/* Keep the hero copy and artwork in one visual system. */
.cf-hero .cf-gradient-text {
  background: linear-gradient(100deg, #c4b5fd 0%, #7c5cff 43%, #22d3ee 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.cf-hero .cf-pill {
  border-color: #354477 !important;
  background: rgba(18, 27, 58, .82) !important;
  color: #9eabd0 !important;
}

.cf-hero .cf-pill strong {
  color: #67e8f9 !important;
}

.cf-hero .cf-button {
  border-color: transparent !important;
  background: linear-gradient(135deg, #6650e8, #7c5cff 55%, #22d3ee) !important;
  color: #fff !important;
  box-shadow: 0 13px 32px rgba(79, 70, 229, .3) !important;
}

.cf-nav .cf-button,
.cf-mobile-menu .cf-button {
  border-color: transparent !important;
  background: linear-gradient(135deg, #6650e8, #7c5cff 55%, #22d3ee) !important;
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(79, 70, 229, .24) !important;
}

.cf-hero .cf-button-outline {
  border-color: #46558a !important;
  background: rgba(13, 21, 48, .62) !important;
  color: #dce5ff !important;
}

.cf-hero .cf-button-outline:hover {
  border-color: #22d3ee !important;
  background: #152044 !important;
  color: #67e8f9 !important;
}

.sports-hero-visual {
  animation: sports-visual-float 6s ease-in-out infinite;
}

.sports-hero-visual img {
  animation: sports-image-breathe 9s ease-in-out infinite;
  will-change: transform, filter;
}

.sports-hero-visual::before {
  animation: sports-glow-pulse 4.5s ease-in-out infinite;
}

.sports-hero-visual::after {
  background:
    linear-gradient(105deg, transparent 34%, rgba(103, 232, 249, .12) 47%, transparent 58%),
    linear-gradient(90deg, rgba(8, 11, 24, .32), transparent 35% 78%, rgba(8, 11, 24, .08));
  background-size: 240% 100%, 100% 100%;
  animation: sports-data-scan 5.2s linear infinite;
}

.sports-hero-visual figcaption {
  animation: sports-caption-float 4s ease-in-out infinite;
}

.sports-hero-visual figcaption span i {
  animation: sports-live-pulse 1.7s ease-out infinite;
}

.sports-hero-points span {
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.sports-hero-points span:hover {
  transform: translateY(-3px);
  border-color: #5261a2;
  background: #152044;
}

@keyframes sports-visual-float {
  0%, 100% { transform: translateY(0) rotate(.001deg); }
  50% { transform: translateY(-10px) rotate(.001deg); }
}

@keyframes sports-image-breathe {
  0%, 100% { transform: scale(1); filter: saturate(1) brightness(1); }
  50% { transform: scale(1.018); filter: saturate(1.08) brightness(1.05); }
}

@keyframes sports-glow-pulse {
  0%, 100% { opacity: .65; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.05); }
}

@keyframes sports-data-scan {
  from { background-position: 115% 0, 0 0; }
  to { background-position: -115% 0, 0 0; }
}

@keyframes sports-caption-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes sports-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(57, 227, 148, .65); }
  75%, 100% { box-shadow: 0 0 0 8px rgba(57, 227, 148, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .sports-hero-visual,
  .sports-hero-visual img,
  .sports-hero-visual::before,
  .sports-hero-visual::after,
  .sports-hero-visual figcaption,
  .sports-hero-visual figcaption span i {
    animation: none !important;
  }
}

/* GC Game Changer brand mark */
.cf-brand img,
.cf-nav .cf-brand img,
.cf-footer .cf-brand img,
.qv-mobile-brand img,
.qv-register-icon {
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 8px 20px rgba(34, 211, 238, .1)) !important;
}

.cf-nav .cf-brand {
  width: 205px;
  height: 58px;
}

.cf-footer .cf-brand {
  width: 230px;
  height: 64px;
}

/* Public page palette: match every section to the GC hero artwork. */
.cf-section-title.cf-gradient-text,
.cf-page-title .cf-gradient-text,
.cf-section-head .cf-gradient-text,
.cf-gradient-text {
  background: linear-gradient(100deg, #c4b5fd 0%, #8b7cff 42%, #22d3ee 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.cf-section-kicker,
.earning-paths-head > span,
.compensation-value small {
  color: #67e8f9 !important;
}

.features,
.compensation-section,
.rank-showcase,
.how-work-section,
.faq-section {
  background:
    radial-gradient(circle at 78% 12%, rgba(34, 211, 238, .055), transparent 28rem),
    radial-gradient(circle at 20% 22%, rgba(124, 92, 255, .075), transparent 34rem),
    #080b18 !important;
}

.compensation-path article,
.compensation-path article.featured,
.how-flow-step,
.earning-paths,
.earning-paths article,
.faq-list details,
.faq-list details[open],
.rank-ladder,
.rank-ladder-row,
.rank-ladder-head,
.rank-ladder-reward,
.compensation-terms,
.comp-example {
  border-color: #29375f !important;
  background-color: #0f1730 !important;
  background-image: linear-gradient(145deg, #111a38, #0a1127) !important;
}

.compensation-path article.featured {
  border-color: #6858c7 !important;
  box-shadow: 0 22px 65px rgba(79, 70, 229, .13) !important;
}

.compensation-path::before,
.rank-ladder::before {
  background: linear-gradient(90deg, transparent, #7c5cff 20%, #22d3ee 80%, transparent) !important;
}

.compensation-path article header > span,
.rank-identity > span,
.how-step-icon,
.earning-path-icon,
.faq-list summary > span {
  border-color: #4b58a0 !important;
  background: linear-gradient(145deg, #24275d, #17213f) !important;
  color: #67e8f9 !important;
  box-shadow: 0 0 0 6px rgba(15, 23, 48, .92) !important;
}

.compensation-path article.featured header > span,
.rank-ladder-row:hover .rank-identity > span {
  background: linear-gradient(135deg, #7c5cff, #22d3ee) !important;
  color: #fff !important;
}

.rank-ladder-requirements li::before,
.rank-requirements li::before,
.compensation-terms i,
.faq-list summary i::before,
.faq-list summary i::after {
  background: #22d3ee !important;
}

.rank-identity > span {
  border-color: #5060aa !important;
}

.rank-ladder-row:hover {
  background-image: linear-gradient(90deg, rgba(124, 92, 255, .12), rgba(34, 211, 238, .035)) !important;
}

.how-flow-step > span {
  color: #35436f !important;
}

.faq-list details[open] {
  border-color: #5b57aa !important;
}

.faq-list summary i {
  border-color: #40517e !important;
}

.faq-answer p,
.rank-ladder-row,
.rank-ladder-reward {
  border-color: #25345b !important;
}

.cf-footer {
  border-top: 1px solid #26345b !important;
  background: #0b1124 !important;
}

.cf-footer h3::after,
.cf-footer h4::after {
  background: linear-gradient(90deg, #7c5cff, #22d3ee) !important;
}

/* GC operating model */
.gc-model-section {
  background:
    radial-gradient(circle at 50% 0, rgba(124, 92, 255, .13), transparent 34rem),
    #0b1124 !important;
}

.gc-model-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gc-model-grid article {
  position: relative;
  min-height: 285px;
  overflow: hidden;
  border: 1px solid #29375f;
  border-radius: 16px;
  background: linear-gradient(145deg, #111a38, #0a1127);
  padding: 22px 19px;
}

.gc-model-grid article > span {
  position: absolute;
  top: 15px;
  right: 16px;
  color: #35436f;
  font: 800 25px/1 "Poppins", sans-serif;
}

.gc-model-icon {
  display: grid;
  place-items: center;
  width: 55px;
  height: 49px;
  margin-bottom: 25px;
  border: 1px solid #4b58a0;
  border-radius: 11px;
  background: linear-gradient(145deg, #24275d, #17213f);
  color: #67e8f9;
  font-size: 9px;
  font-weight: 900;
}

.gc-model-grid h3 {
  margin: 0 0 11px;
  color: #f5f7ff;
  font-size: 15px;
}

.gc-model-grid p {
  margin: 0;
  color: #9ba8c8;
  font-size: 11px;
  line-height: 1.7;
}

.gc-revenue-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid #29375f;
  border-radius: 14px;
  background: #29375f;
}

.gc-revenue-strip div {
  padding: 16px 18px;
  background: #0f1730;
}

.gc-revenue-strip span,
.gc-revenue-strip strong {
  display: block;
}

.gc-revenue-strip span {
  color: #67e8f9;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.gc-revenue-strip strong {
  margin-top: 7px;
  color: #dce4fa;
  font-size: 11px;
}

.gc-model-disclosure {
  margin: 16px 0 0;
  border: 1px solid #5b4d84;
  border-radius: 12px;
  background: #181633;
  padding: 13px 16px;
  color: #aeb8d4;
  font-size: 10px;
  line-height: 1.6;
}

.gc-model-disclosure strong {
  color: #c4b5fd;
}

.earning-paths {
  grid-template-columns: 1.05fr repeat(3, 1.2fr) !important;
}

@media (max-width: 980px) {
  .gc-model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .earning-paths {
    grid-template-columns: 1fr 1fr !important;
  }

  .earning-paths-head {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .gc-model-grid,
  .gc-revenue-strip {
    grid-template-columns: 1fr;
  }

  .gc-model-grid article {
    min-height: 0;
  }

  .earning-paths {
    display: block !important;
  }
}

@media (max-width: 760px) {
  .sports-hero-visual {
    width: 100%;
    margin-top: 12px;
  }

  .sports-hero-visual img {
    min-height: 340px;
    aspect-ratio: 1 / 1;
    object-position: 59% center;
    border-radius: 20px;
  }

  .sports-hero-visual::after {
    border-radius: 20px;
  }

  .sports-hero-visual figcaption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    min-width: 0;
  }
}
