/**
 * TCA premium theme system — dark cosmic variants (accent only).
 * Themes: gold (default), emerald, sapphire, rose, amber.
 */
:root,
html[data-tca-theme="gold"] {
  --tca-bg: #030508;
  --tca-panel: #0a0e1a;
  --tca-panel-2: #12181f;
  --tca-accent: #d4af37;
  --tca-accent-2: #f5e6c8;
  --tca-accent-soft: rgba(212, 175, 55, 0.18);
  --tca-accent-glow: rgba(212, 175, 55, 0.35);
  --tca-live: #39ff14;
  --tca-text: #e2e8f0;
  --tca-muted: #94a3b8;
  --gold: #d4af37;
  --neon-cyan: #d4af37;
  --neon-purple: #b8860b;
}

html[data-tca-theme="emerald"] {
  --tca-bg: #030a07;
  --tca-panel: #071510;
  --tca-panel-2: #0d1f18;
  --tca-accent: #34d399;
  --tca-accent-2: #d1fae5;
  --tca-accent-soft: rgba(52, 211, 153, 0.16);
  --tca-accent-glow: rgba(52, 211, 153, 0.35);
  --tca-live: #a7f3d0;
  --gold: #34d399;
  --neon-cyan: #34d399;
  --neon-purple: #059669;
}

html[data-tca-theme="sapphire"] {
  --tca-bg: #03060e;
  --tca-panel: #070d1a;
  --tca-panel-2: #101828;
  --tca-accent: #60a5fa;
  --tca-accent-2: #dbeafe;
  --tca-accent-soft: rgba(96, 165, 250, 0.16);
  --tca-accent-glow: rgba(96, 165, 250, 0.35);
  --tca-live: #93c5fd;
  --gold: #60a5fa;
  --neon-cyan: #38bdf8;
  --neon-purple: #2563eb;
}

html[data-tca-theme="rose"] {
  --tca-bg: #0a0406;
  --tca-panel: #14080c;
  --tca-panel-2: #1f1016;
  --tca-accent: #f43f5e;
  --tca-accent-2: #ffe4e6;
  --tca-accent-soft: rgba(244, 63, 94, 0.16);
  --tca-accent-glow: rgba(244, 63, 94, 0.35);
  --tca-live: #fb7185;
  --gold: #f43f5e;
  --neon-cyan: #fb7185;
  --neon-purple: #be123c;
}

html[data-tca-theme="amber"] {
  --tca-bg: #080602;
  --tca-panel: #12100a;
  --tca-panel-2: #1c1710;
  --tca-accent: #f59e0b;
  --tca-accent-2: #fef3c7;
  --tca-accent-soft: rgba(245, 158, 11, 0.18);
  --tca-accent-glow: rgba(245, 158, 11, 0.38);
  --tca-live: #fbbf24;
  --gold: #f59e0b;
  --neon-cyan: #fbbf24;
  --neon-purple: #d97706;
}

/* Brand gradient for hero title */
.tca-brand-gradient {
  background: linear-gradient(120deg, var(--tca-accent) 0%, #fff 45%, var(--tca-accent-2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 18px var(--tca-accent-glow));
}

/* Theme switcher chips */
.tca-theme-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--tca-accent) 35%, transparent);
  background: rgba(0, 0, 0, 0.35);
}

.tca-theme-btn {
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  cursor: pointer;
  padding: 0;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tca-theme-btn:hover,
.tca-theme-btn[aria-pressed="true"] {
  transform: scale(1.12);
  box-shadow: 0 0 10px var(--tca-accent-glow);
}

.tca-theme-btn[data-theme="gold"] { background: #d4af37; }
.tca-theme-btn[data-theme="emerald"] { background: #34d399; }
.tca-theme-btn[data-theme="sapphire"] { background: #60a5fa; }
.tca-theme-btn[data-theme="rose"] { background: #f43f5e; }
.tca-theme-btn[data-theme="amber"] { background: #f59e0b; }

@media (max-width: 420px) {
  .tca-theme-switcher { display: none; }
}

/* Map common surfaces to theme tokens when present */
body {
  background-color: var(--tca-bg);
}

.site-header {
  border-color: color-mix(in srgb, var(--tca-accent) 18%, transparent) !important;
}

.brand-link,
.text-gold {
  color: var(--tca-accent) !important;
}

.nav-link.active,
.nav-link:hover {
  color: var(--tca-accent) !important;
}

.promo-free-banner {
  border-color: color-mix(in srgb, var(--tca-accent) 40%, transparent) !important;
  background: linear-gradient(90deg, var(--tca-accent-soft), transparent 70%) !important;
  color: var(--tca-accent-2) !important;
}

/* App shell bridge */
html[data-tca-theme] {
  --gold-premium: var(--tca-accent);
  --gold-glow: var(--tca-accent-glow);
  --bg-color: var(--tca-bg);
  --panel-bg: var(--tca-panel);
  --matrix-green: var(--tca-live);
}
