/* 
 * Deep-Space Universal Theme CSS
 * Premium cosmic styling for all user-facing pages
 * Version: 1.0
 */

/* ===== DEEP-SPACE THEME VARIABLES ===== */
:root {
  /* Primary Red-Black Theme Colors */
  --stellar-white: #f5f5f5;
  --cosmic-cyan: #8B0000;
  --light-cyan: #DC143C;
  --pale-cyan: #FF6B6B;
  --deep-space: #000000;
  --midnight-red: #1a0000;
  --deep-red: #2d0000;
  
  /* Enhanced Red-Black Colors */
  --nebula-purple: #4a0000;
  --void-black: #000000;
  --stardust-gray: #1a1a1a;
  --cosmic-dust: #2d2d2d;
  --plasma-blue: #B22222;
  
  /* Border Color System */
  --border-light: rgba(156, 163, 175, 0.1);
  --border-subtle: rgba(156, 163, 175, 0.15);
  --border-default: rgba(156, 163, 175, 0.3);
  --border-medium: rgba(156, 163, 175, 0.4);
  --border-hover: rgba(156, 163, 175, 0.5);
  --border-focus: rgba(156, 163, 175, 0.7);
  --border-strong: rgba(156, 163, 175, 0.8);
  
  /* Text Color System */
  --text-primary: var(--stellar-white);
  --text-secondary: rgba(220, 20, 60, 0.9);
  --text-tertiary: rgba(220, 20, 60, 0.7);
  --text-muted: rgba(220, 20, 60, 0.5);
  --text-accent: var(--cosmic-cyan);
  
  /* Shadow and Glow Effects */
  --cosmic-glow: 0 0 20px rgba(139, 0, 0, 0.3);
  --stellar-glow: 0 0 15px rgba(220, 20, 60, 0.4);
  --deep-shadow: 0 8px 25px rgba(0, 0, 0, 0.6);
  --floating-shadow: 0 12px 30px rgba(139, 0, 0, 0.2);
  
  /* Animation Variables */
  --cosmic-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --stellar-transition: all 0.3s ease;
  --void-transition: all 0.6s ease;
}

/* ===== UNIVERSAL BACKGROUND SYSTEM ===== */
body {
  background: linear-gradient(180deg, 
    var(--deep-space) 0%,
    var(--midnight-red) 25%,
    var(--deep-red) 50%,
    var(--midnight-red) 75%,
    var(--deep-space) 100%
  ) !important;
  background-attachment: fixed !important;
  color: var(--text-primary) !important;
  min-height: 100vh !important;
}

/* Enhanced cosmic background with starfield effect */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(2px 2px at 20px 30px, rgba(220, 20, 60, 0.3), transparent),
    radial-gradient(2px 2px at 40px 70px, rgba(139, 0, 0, 0.2), transparent),
    radial-gradient(1px 1px at 90px 40px, rgba(220, 20, 60, 0.4), transparent),
    radial-gradient(1px 1px at 130px 80px, rgba(139, 0, 0, 0.3), transparent);
  background-size: 200px 150px;
  pointer-events: none;
  z-index: -1;
  opacity: 0.6;
  animation: starfield 120s linear infinite;
}

@keyframes starfield {
  0% { transform: translateY(0); }
  100% { transform: translateY(-150px); }
}

/* Container Backgrounds */
.container,
.main-content,
.content-wrapper {
  background: rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(8px) !important;
  border-radius: 20px !important;
  border: 1px solid var(--border-subtle) !important;
}

/* ===== UNIVERSAL CARD SYSTEM ===== */
.card,
.info-card,
.stats-card,
.profile-stat-card,
.transaction-card,
.encounter-card,
.event-card,
.leaderboard-card,
.support-card,
.site-card-modern,
.replay-card,
.filter-card {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.9) 0%,
    rgba(26, 0, 0, 0.8) 50%,
    rgba(45, 0, 0, 0.7) 100%
  ) !important;
  border-radius: 18px !important;
  box-shadow: 
    var(--deep-shadow),
    inset 0 1px 0 rgba(144, 224, 239, 0.1) !important;
  transition: var(--cosmic-transition) !important;
  position: relative !important;
  overflow: hidden !important;
}

.card::before,
.info-card::before,
.stats-card::before,
.profile-stat-card::before,
.transaction-card::before,
.encounter-card::before,
.event-card::before,
.leaderboard-card::before,
.support-card::before,
.site-card-modern::before,
.replay-card::before,
.filter-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(139, 0, 0, 0.08), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.card:hover,
.info-card:hover,
.stats-card:hover,
.profile-stat-card:hover,
.transaction-card:hover,
.encounter-card:hover,
.event-card:hover,
.leaderboard-card:hover,
.support-card:hover,
.site-card-modern:hover,
.replay-card:hover,
.filter-card:hover {
  transform: translateY(-4px) scale(1.02) !important;
  border-color: var(--border-hover) !important;
  box-shadow: 
    var(--floating-shadow),
    var(--cosmic-glow),
    inset 0 1px 0 rgba(144, 224, 239, 0.2) !important;
}

/* ===== UNIVERSAL BORDER SYSTEM ===== */
.golden-border,
.cosmic-border,
.stellar-border {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  padding: 3px !important;
  border-radius: 18px !important;
  box-shadow: var(--cosmic-glow) !important;
}

.golden-border-content,
.cosmic-border-content,
.stellar-border-content {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.95) 0%,
    rgba(26, 0, 0, 0.9) 50%,
    rgba(45, 0, 0, 0.85) 100%
  ) !important;
  border-radius: 15px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Convert all golden borders to cosmic theme */
.golden-border-content::before,
.cosmic-border-content::before,
.stellar-border-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(139, 0, 0, 0.08), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ===== SPONSOR SECTION ADJUSTMENTS ===== */
/* Tone down overly bright sponsor section elements */
[class*="sponsor"], [class*="Sponsor"] {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.9) 0%, 
    rgba(26, 0, 0, 0.8) 50%, 
    rgba(45, 0, 0, 0.7) 100%
  ) !important;
  color: var(--text-secondary) !important;
}

/* Sponsor buttons and interactive elements */
[class*="sponsor"] button,
[class*="Sponsor"] button,
[class*="sponsor"] .btn,
[class*="Sponsor"] .btn {
  background: linear-gradient(135deg, var(--deep-space) 0%, var(--midnight-red) 100%) !important;
  color: var(--light-cyan) !important;
  border: 2px solid var(--border-medium) !important;
  box-shadow: var(--cosmic-glow) !important;
}

[class*="sponsor"] button:hover,
[class*="Sponsor"] button:hover,
[class*="sponsor"] .btn:hover,
[class*="Sponsor"] .btn:hover {
  background: linear-gradient(135deg, var(--midnight-red) 0%, var(--deep-red) 100%) !important;
  border-color: var(--border-hover) !important;
  transform: translateY(-2px) !important;
}

/* Tone down bright cyan backgrounds in general */
.bg-cyan-400, .bg-cyan-300, .bg-cyan-200 {
  background: linear-gradient(135deg, var(--midnight-red) 0%, var(--deep-red) 100%) !important;
}

/* ===== UNIVERSAL BUTTON SYSTEM ===== */
.btn,
.action-btn,
.participate-btn,
.filter-btn,
.pagination-btn,
.product-button,
button:not(.close):not(.modal-close) {
  background: linear-gradient(135deg, 
    rgba(139, 0, 0, 0.15) 0%,
    rgba(220, 20, 60, 0.1) 100%
  ) !important;
  border: 2px solid var(--border-default) !important;
  border-radius: 15px !important;
  color: var(--text-accent) !important;
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  padding: 12px 24px !important;
  transition: var(--cosmic-transition) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 
    0 4px 15px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(144, 224, 239, 0.1) !important;
}

.btn::before,
.action-btn::before,
.participate-btn::before,
.filter-btn::before,
.pagination-btn::before,
.product-button::before,
button:not(.close):not(.modal-close)::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent,
    rgba(139, 0, 0, 0.1),
    transparent
  );
  transition: left 0.6s ease;
  z-index: 0;
}

.btn:hover::before,
.action-btn:hover::before,
.participate-btn:hover::before,
.filter-btn:hover::before,
.pagination-btn:hover::before,
.product-button:hover::before,
button:not(.close):not(.modal-close):hover::before {
  left: 100%;
}

.btn:hover,
.action-btn:hover,
.participate-btn:hover,
.filter-btn:hover,
.pagination-btn:hover,
.product-button:hover,
button:not(.close):not(.modal-close):hover {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 50%,
    var(--cosmic-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  transform: translateY(-3px) scale(1.02) !important;
  border-color: var(--border-strong) !important;
  box-shadow: 
    var(--floating-shadow),
    var(--cosmic-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Primary Action Buttons */
.btn-primary,
.bg-golden-gradient,
.golden-gradient,
.bg-gradient-to-r,
.from-golden-400,
.to-golden-600 {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--border-strong) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  font-weight: 600 !important;
}

/* ===== UNIVERSAL FORM SYSTEM ===== */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.8) 0%,
    rgba(26, 0, 0, 0.6) 100%
  ) !important;
  border: 2px solid var(--border-default) !important;
  border-radius: 12px !important;
  color: var(--text-primary) !important;
  padding: 12px 16px !important;
  transition: var(--cosmic-transition) !important;
  backdrop-filter: blur(4px) !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  border-color: var(--border-focus) !important;
  box-shadow: 
    0 0 0 3px rgba(139, 0, 0, 0.2),
    var(--cosmic-glow) !important;
  outline: none !important;
  background: linear-gradient(135deg, 
    rgba(26, 0, 0, 0.9) 0%,
    rgba(45, 0, 0, 0.8) 100%
  ) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted) !important;
}

/* Form Labels */
label {
  color: var(--text-secondary) !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
}

/* ===== UNIVERSAL TEXT SYSTEM ===== */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary) !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.golden-text-gradient,
.cosmic-text-gradient,
.stellar-text-gradient {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: var(--stellar-glow) !important;
  font-weight: 700 !important;
  letter-spacing: 0.025em !important;
}

p, span, div:not([class*="fa"]) {
  color: var(--text-primary) !important;
}

.text-gray-400,
.text-secondary {
  color: var(--text-secondary) !important;
}

.text-gray-500,
.text-muted {
  color: var(--text-tertiary) !important;
}

/* ===== UNIVERSAL LINK SYSTEM ===== */
a:not(.btn):not(.action-btn):not(.nav-link) {
  color: var(--text-accent) !important;
  text-decoration: none !important;
  transition: var(--stellar-transition) !important;
}

a:not(.btn):not(.action-btn):not(.nav-link):hover {
  color: var(--light-cyan) !important;
  text-shadow: var(--stellar-glow) !important;
}

/* ===== UNIVERSAL NAVIGATION SYSTEM ===== */
.nav-link,
.sidebar-link {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.6) 0%,
    rgba(26, 0, 0, 0.4) 100%
  ) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  color: var(--text-secondary) !important;
  transition: var(--cosmic-transition) !important;
  position: relative !important;
  overflow: hidden !important;
}

.nav-link::before,
.sidebar-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent,
    rgba(139, 0, 0, 0.1),
    transparent
  );
  transition: left 0.5s ease;
}

.nav-link:hover::before,
.sidebar-link:hover::before {
  left: 100%;
}

.nav-link:hover,
.sidebar-link:hover,
.nav-link.active,
.sidebar-link.active {
  background: linear-gradient(135deg, 
    rgba(139, 0, 0, 0.2) 0%,
    rgba(220, 20, 60, 0.15) 100%
  ) !important;
  border-color: var(--border-hover) !important;
  color: var(--text-primary) !important;
  transform: translateX(8px) !important;
  box-shadow: 
    0 4px 15px rgba(139, 0, 0, 0.2),
    inset 0 1px 0 rgba(220, 20, 60, 0.2) !important;
}

/* ===== UNIVERSAL MODAL SYSTEM ===== */
.modal,
.popup-overlay,
.modal-overlay {
  background: rgba(0, 0, 0, 0.9) !important;
  backdrop-filter: blur(12px) !important;
}

.modal-content,
.popup-content {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.95) 0%,
    rgba(26, 0, 0, 0.9) 50%,
    rgba(45, 0, 0, 0.85) 100%
  ) !important;
  border: 3px solid var(--border-medium) !important;
  border-radius: 20px !important;
  box-shadow: 
    var(--deep-shadow),
    var(--cosmic-glow) !important;
  position: relative !important;
  overflow: hidden !important;
}

.modal-content::before,
.popup-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 20%, rgba(139, 0, 0, 0.1), transparent 60%);
  pointer-events: none;
}

/* Modal Close Buttons */
.close,
.modal-close,
.popup-close {
  background: rgba(0, 0, 0, 0.8) !important;
  border: 2px solid var(--border-default) !important;
  color: var(--text-secondary) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--cosmic-transition) !important;
  font-size: 20px !important;
  font-weight: bold !important;
}

.close:hover,
.modal-close:hover,
.popup-close:hover {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--border-strong) !important;
  transform: scale(1.1) rotate(90deg) !important;
  box-shadow: var(--cosmic-glow) !important;
}

/* ===== UNIVERSAL TABLE SYSTEM ===== */
table {
  background: rgba(0, 0, 0, 0.6) !important;
  border-radius: 15px !important;
  overflow: hidden !important;
  border: 1px solid var(--border-subtle) !important;
}

th {
  background: linear-gradient(135deg, 
    rgba(26, 0, 0, 0.9) 0%,
    rgba(45, 0, 0, 0.8) 100%
  ) !important;
  color: var(--text-primary) !important;
  border-bottom: 2px solid var(--border-default) !important;
  padding: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

td {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  padding: 12px 16px !important;
  transition: var(--stellar-transition) !important;
}

tr:hover td {
  background: rgba(139, 0, 0, 0.05) !important;
}

/* ===== UNIVERSAL ICON SYSTEM ===== */
i[class^="fa"],
i[class*=" fa"] {
  color: var(--text-accent) !important;
  transition: var(--stellar-transition) !important;
}

.cosmic-icon {
  color: var(--cosmic-cyan) !important;
  text-shadow: var(--stellar-glow) !important;
}

/* ===== SPECIAL UI ELEMENTS ===== */

/* Golden/Cosmic color mappings for Tailwind and other frameworks */
.text-golden-500,
.text-golden-400,
.text-golden-600,
.text-cosmic-500,
.text-cosmic-400,
.text-cosmic-600 {
  color: var(--cosmic-cyan) !important;
}

.bg-golden-500,
.bg-golden-400,
.bg-golden-600,
.bg-cosmic-500,
.bg-cosmic-400,
.bg-cosmic-600 {
  background-color: var(--cosmic-cyan) !important;
}

.bg-cosmic-gradient {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

/* Enhanced contrast for cosmic gradient buttons */
.bg-cosmic-gradient:hover {
  background: linear-gradient(135deg, 
    var(--pale-cyan) 0%,
    #ffffff 35%,
    var(--pale-cyan) 50%,
    #ffffff 65%,
    var(--pale-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}

/* Support page button fixes - better contrast */
.support-btn,
.ticket-btn,
.destek-btn {
  background: linear-gradient(135deg, 
    var(--deep-space) 0%,
    var(--midnight-red) 50%,
    var(--deep-red) 100%
  ) !important;
  color: var(--stellar-white) !important;
  border: 2px solid var(--cosmic-cyan) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  font-weight: 700 !important;
}

.support-btn:hover,
.ticket-btn:hover,
.destek-btn:hover {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 50%,
    var(--pale-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
  transform: translateY(-2px) !important;
}

/* Fix any button with cosmic gradient that has poor contrast */
button[class*="cosmic"],
a[class*="cosmic"],
.btn[class*="cosmic"] {
  color: var(--deep-space) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

/* Override ALL remaining golden colors and gradients */
[style*="#ffb020"],
[style*="#ffc940"],
[style*="#8a6914"],
[style*="linear-gradient(0deg, #ffb020"],
[style*="border-image: linear-gradient(0deg, #ffb020"] {
  border-image: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) 1 !important;
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
}

/* Force override sidebar golden hover states */
.sidebar-link:hover,
.nav-link:hover {
  background: linear-gradient(135deg, 
    rgba(0, 180, 216, 0.2) 0%,
    rgba(144, 224, 239, 0.15) 100%
  ) !important;
  border-color: var(--border-hover) !important;
  color: var(--text-primary) !important;
}

/* Fix hamburger menu */
.hamburger,
.menu-toggle {
  color: var(--cosmic-cyan) !important;
}

/* Fix header buttons */
.header-btn,
.auth-btn {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.8) 0%,
    rgba(26, 0, 0, 0.6) 100%
  ) !important;
  color: var(--stellar-white) !important;
  border: 2px solid var(--border-default) !important;
}

.header-btn:hover,
.auth-btn:hover {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--border-strong) !important;
}

/* Fix support buttons with better contrast */
.support-group-btn,
.join-support-btn {
  background: var(--deep-space) !important;
  color: var(--stellar-white) !important;
  border: 2px solid var(--cosmic-cyan) !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
}

.support-group-btn:hover,
.join-support-btn:hover {
  background: var(--cosmic-cyan) !important;
  color: var(--deep-space) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}

/* Fix Hall of Fame golden elements */
.hall-of-fame {
  border-color: var(--cosmic-cyan) !important;
}

.hall-of-fame h2,
.hall-title {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Override golden champion badges */
.grand-champion,
.gold-badge,
[class*="champion"] {
  background: linear-gradient(135deg, 
    var(--pale-cyan) 0%,
    #ffffff 50%,
    var(--light-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--cosmic-cyan) !important;
}

/* Fix any remaining golden borders */
[style*="border: 4px solid"],
[style*="border: 3px solid"],
[style*="border: 2px solid"] {
  border-color: var(--border-default) !important;
}

/* Fix login modal buttons */
.login-required-btn,
.auth-required-btn {
  background: var(--deep-space) !important;
  color: var(--stellar-white) !important;
  border: 2px solid var(--cosmic-cyan) !important;
  font-weight: 700 !important;
}

.login-required-btn:hover,
.auth-required-btn:hover {
  background: var(--cosmic-cyan) !important;
  color: var(--deep-space) !important;
}

.border-golden-500,
.border-golden-400,
.border-golden-600 {
  border-color: var(--cosmic-cyan) !important;
}

.hover\:bg-golden-600:hover,
.hover\:bg-golden-500:hover {
  background-color: var(--light-cyan) !important;
}

.focus\:border-golden-500:focus,
.focus\:ring-golden-500:focus {
  border-color: var(--cosmic-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 180, 216, 0.2) !important;
}

/* Background color mappings */
.bg-gray-800,
.bg-gray-900,
.bg-gray-700 {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.9) 0%,
    rgba(26, 0, 0, 0.8) 50%,
    rgba(45, 0, 0, 0.7) 100%
  ) !important;
}

.bg-gray-600 {
  background: linear-gradient(135deg, 
    rgba(26, 0, 0, 0.9) 0%,
    rgba(45, 0, 0, 0.8) 100%
  ) !important;
}

.bg-black {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.95) 0%,
    rgba(26, 0, 0, 0.9) 100%
  ) !important;
}

.bg-white {
  background: linear-gradient(135deg, 
    rgba(245, 245, 245, 0.95) 0%,
    rgba(220, 20, 60, 0.1) 100%
  ) !important;
  color: var(--deep-space) !important;
}

/* Border color mappings */
.border-gray-700,
.border-gray-600,
.border-gray-800 {
  border-color: var(--border-default) !important;
}

.border-gray-500 {
  border-color: var(--border-medium) !important;
}

/* Text color mappings */
.text-gray-300,
.text-gray-400 {
  color: var(--text-secondary) !important;
}

.text-gray-500,
.text-gray-600 {
  color: var(--text-tertiary) !important;
}

.text-white {
  color: var(--text-primary) !important;
}

.text-black {
  color: var(--deep-space) !important;
}

/* Additional golden element overrides for better coverage */
.golden-gradient,
.bg-golden-gradient,
[style*="background: linear-gradient(0deg, #ffb020"],
[style*="background-color: #ffb020"],
[style*="background-color: #ffc940"] {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
}

/* Override any remaining golden colors in specific contexts */
.text-golden-500,
.text-golden-400,
.text-golden-600,
[style*="color: #ffb020"],
[style*="color: #ffc940"] {
  color: var(--cosmic-cyan) !important;
}

/* Force override for any inline golden styles */
[class*="golden"] {
  --tw-text-opacity: 1 !important;
  color: var(--cosmic-cyan) !important;
}

[class*="golden"][class*="bg"] {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 50%,
    var(--cosmic-cyan) 100%
  ) !important;
}

/* Button golden overrides */
button[class*="golden"],
.btn[class*="golden"],
a[class*="golden"] {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 35%,
    var(--pale-cyan) 50%,
    var(--light-cyan) 65%,
    var(--cosmic-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--border-strong) !important;
}

/* Hover state mappings */
.hover\:bg-gray-800:hover,
.hover\:bg-gray-700:hover,
.hover\:bg-gray-600:hover {
  background: linear-gradient(135deg, 
    rgba(139, 0, 0, 0.2) 0%,
    rgba(220, 20, 60, 0.15) 100%
  ) !important;
}

.hover\:bg-gray-500:hover {
  background: linear-gradient(135deg, 
    rgba(139, 0, 0, 0.3) 0%,
    rgba(220, 20, 60, 0.2) 100%
  ) !important;
}

.hover\:text-white:hover {
  color: var(--text-primary) !important;
}

.hover\:text-gray-300:hover {
  color: var(--light-cyan) !important;
}

.hover\:border-gray-600:hover,
.hover\:border-gray-500:hover {
  border-color: var(--border-hover) !important;
}

/* Opacity variants */
.hover\:opacity-90:hover {
  opacity: 0.9 !important;
  transform: translateY(-2px) !important;
}

.hover\:opacity-80:hover {
  opacity: 0.8 !important;
}

/* Loading Spinners */
.loading-spinner,
.loader {
  border: 3px solid var(--border-subtle) !important;
  border-top: 3px solid var(--cosmic-cyan) !important;
  box-shadow: var(--cosmic-glow) !important;
}

/* Progress Bars */
.progress-bar {
  background: linear-gradient(90deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 50%,
    var(--pale-cyan) 100%
  ) !important;
  box-shadow: var(--cosmic-glow) !important;
}

/* Badges and Tags */
.badge,
.tag,
.status-badge {
  background: linear-gradient(135deg, 
    rgba(139, 0, 0, 0.2) 0%,
    rgba(220, 20, 60, 0.15) 100%
  ) !important;
  color: var(--text-accent) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  padding: 4px 12px !important;
  font-size: 0.85em !important;
  font-weight: 500 !important;
}

/* Alerts and Notifications */
.alert,
.notification {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.9) 0%,
    rgba(26, 0, 0, 0.8) 100%
  ) !important;
  border: 2px solid var(--border-default) !important;
  border-radius: 12px !important;
  color: var(--text-primary) !important;
  box-shadow: var(--deep-shadow) !important;
}

/* Pagination */
.pagination {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
}

.pagination a,
.pagination span {
  background: linear-gradient(135deg, 
    rgba(0, 0, 0, 0.8) 0%,
    rgba(26, 0, 0, 0.6) 100%
  ) !important;
  border: 2px solid var(--border-default) !important;
  border-radius: 10px !important;
  color: var(--text-secondary) !important;
  padding: 8px 16px !important;
  transition: var(--cosmic-transition) !important;
  text-decoration: none !important;
}

.pagination a:hover,
.pagination .active {
  background: linear-gradient(135deg, 
    var(--cosmic-cyan) 0%,
    var(--light-cyan) 100%
  ) !important;
  color: var(--deep-space) !important;
  border-color: var(--border-strong) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--cosmic-glow) !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .card,
  .info-card,
  .stats-card,
  .modal-content {
    border-radius: 12px !important;
    padding: 16px !important;
  }
  
  .btn,
  .action-btn {
    padding: 10px 20px !important;
    font-size: 14px !important;
  }
  
  .cosmic-glow,
  .stellar-glow {
    box-shadow: 0 0 10px rgba(0, 180, 216, 0.2) !important;
  }
}

/* ===== ANIMATION CLASSES ===== */
.cosmic-pulse {
  animation: cosmicPulse 2s ease-in-out infinite;
}

@keyframes cosmicPulse {
  0%, 100% { 
    box-shadow: 0 0 10px rgba(139, 0, 0, 0.3);
    transform: scale(1);
  }
  50% { 
    box-shadow: 0 0 20px rgba(139, 0, 0, 0.5);
    transform: scale(1.02);
  }
}

.stellar-float {
  animation: stellarFloat 3s ease-in-out infinite;
}

@keyframes stellarFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ===== ACCESSIBILITY ENHANCEMENTS ===== */
*:focus-visible {
  outline: 2px solid var(--cosmic-cyan) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(139, 0, 0, 0.3) !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  :root {
    --text-primary: #ffffff;
    --text-secondary: #e0e0e0;
    --border-default: rgba(139, 0, 0, 0.5);
    --border-hover: rgba(139, 0, 0, 0.8);
  }
}

/* Cosmic step and badge classes for leaderboard */
.cosmic-step {
  background: linear-gradient(145deg, rgba(139, 0, 0, 0.15), rgba(139, 0, 0, 0.05)) !important;
  border-color: rgba(139, 0, 0, 0.4) !important;
  box-shadow: 0 10px 40px rgba(139, 0, 0, 0.2) !important;
  min-height: 140px !important;
}

.cosmic-badge {
  background: linear-gradient(135deg, var(--cosmic-cyan), var(--light-cyan)) !important;
  color: var(--deep-space) !important;
  box-shadow: 0 4px 15px rgba(139, 0, 0, 0.3) !important;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  body::before {
    animation: none !important;
  }
}