/* =========================================================
   Infinity CC — Theme Mode Overrides
   Loaded after infinity-cc-vnext.css (higher specificity).
   Applies token swaps only — no layout changes.
   ========================================================= */

/* ─── NEON (default — full vNext look) ─────────────────── */
:root[data-theme="neon"] {
  --cc-magenta:      #ff2ea6;
  --cc-cyan:         #25f4ff;
  --cc-lime:         #00ff88;

  --cc-glow-m:       rgba(255,  46, 166, 0.38);
  --cc-glow-c:       rgba( 37, 244, 255, 0.30);
  --cc-glow-m-soft:  rgba(255,  46, 166, 0.18);
  --cc-glow-c-soft:  rgba( 37, 244, 255, 0.14);

  --cc-border:        rgba(255, 255, 255, 0.08);
  --cc-border-strong: rgba(37,  244, 255, 0.24);

  --cc-shadow-soft: 0 4px 16px rgba(0,0,0,0.28);
  --cc-shadow:      0 8px 28px rgba(0,0,0,0.45), 0 0 20px rgba(37,244,255,0.08);

  --cc-void-0: #050810;
  --cc-void-1: #070b15;
  --cc-void-2: #0c1222;

  --cc-bg-aurora-m: rgba(255, 46, 166, 0.10);
  --cc-bg-aurora-c: rgba( 37,244,255, 0.10);
  --cc-bg-aurora-m2: rgba(255, 46, 166, 0.07);
}

/* ─── VOID (subdued — less glow, deeper atmosphere) ────── */
:root[data-theme="void"] {
  --cc-magenta:      #c0267e;
  --cc-cyan:         #1ab8c9;
  --cc-lime:         #00cc6e;

  --cc-glow-m:       rgba(192,  38, 126, 0.20);
  --cc-glow-c:       rgba( 26, 184, 201, 0.16);
  --cc-glow-m-soft:  rgba(192,  38, 126, 0.10);
  --cc-glow-c-soft:  rgba( 26, 184, 201, 0.08);

  --cc-border:        rgba(255, 255, 255, 0.05);
  --cc-border-strong: rgba(26,  184, 201, 0.16);

  --cc-shadow-soft: 0 4px 16px rgba(0,0,0,0.38);
  --cc-shadow:      0 8px 28px rgba(0,0,0,0.55), 0 0 12px rgba(26,184,201,0.05);

  --cc-void-0: #020508;
  --cc-void-1: #04070e;
  --cc-void-2: #070c18;

  --cc-bg-aurora-m: rgba(192,  38, 126, 0.05);
  --cc-bg-aurora-c: rgba( 26, 184, 201, 0.05);
  --cc-bg-aurora-m2: rgba(192, 38, 126, 0.03);
}

/* Void: less vivid body aurora */
:root[data-theme="void"] body {
  background:
    radial-gradient(1200px 640px at 12% 8%,  var(--cc-bg-aurora-m),  transparent 60%),
    radial-gradient(1000px 560px at 88% 20%, var(--cc-bg-aurora-c),  transparent 55%),
    radial-gradient(1400px 800px at 50% 130%,var(--cc-bg-aurora-m2), transparent 60%),
    linear-gradient(175deg, var(--cc-void-0) 0%, var(--cc-void-2) 100%);
}

/* Void: quieter grain */
:root[data-theme="void"] body::after {
  opacity: 0.04;
}

/* Void: hdr-logo tone down */
:root[data-theme="void"] .hdr-logo span {
  text-shadow: 0 0 10px rgba(192,38,126,0.25);
}

/* ─── TACTICAL (minimal neon, high legibility) ──────────── */
:root[data-theme="tactical"] {
  --cc-magenta:      #e05fa0;
  --cc-cyan:         #62d8e8;
  --cc-lime:         #5fdc99;

  --cc-glow-m:       rgba(224,  95, 160, 0.10);
  --cc-glow-c:       rgba( 98, 216, 232, 0.10);
  --cc-glow-m-soft:  rgba(224,  95, 160, 0.05);
  --cc-glow-c-soft:  rgba( 98, 216, 232, 0.05);

  --cc-border:        rgba(200, 210, 220, 0.11);
  --cc-border-strong: rgba(98,  216, 232, 0.22);

  --cc-shadow-soft: 0 2px 10px rgba(0,0,0,0.32);
  --cc-shadow:      0 6px 20px rgba(0,0,0,0.50);

  --cc-void-0: #0a0d12;
  --cc-void-1: #0d1117;
  --cc-void-2: #141a24;

  --cc-bg-aurora-m: rgba(0, 0, 0, 0);
  --cc-bg-aurora-c: rgba(0, 0, 0, 0);
  --cc-bg-aurora-m2: rgba(0, 0, 0, 0);
}

/* Tactical: flat crisp background — no aurora */
:root[data-theme="tactical"] body {
  background: linear-gradient(175deg, var(--cc-void-0) 0%, var(--cc-void-2) 100%);
}

/* Tactical: no grain */
:root[data-theme="tactical"] body::after {
  display: none;
}

/* Tactical: no glows on bar-fill */
:root[data-theme="tactical"] .bar-fill,
:root[data-theme="tactical"] .cc-fill {
  box-shadow: none;
}

/* Tactical: no glow on logo */
:root[data-theme="tactical"] .hdr-logo span {
  text-shadow: none;
}

/* Tactical: muted widget hover */
:root[data-theme="tactical"] .widget:hover,
:root[data-theme="tactical"] .cc-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.45);
  transform: none;
}

/* ─── Reduced Motion — respect user preference ──────────── */
@media (prefers-reduced-motion: reduce) {
  /* Disable fade-up animation on cards */
  .cc-card {
    animation: none !important;
  }
  /* Disable hover lifts */
  .widget:hover,
  .cc-card:hover,
  .btn-apps:hover,
  .cc-btn:hover,
  .tile-btn:hover {
    transform: none !important;
  }
  /* Keep functional transitions but cut duration drastically */
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
