/* ═══════════════════════════════════════════════════════════════════════════
   Battle AIrena — Projection Dashboard Cyber Theme
   Projection-specific cyber neon decorations. Scoped under body.theme-cyber.
   ═══════════════════════════════════════════════════════════════════════════ */

@layer theme {

/* ── Fonts on projection-specific labels ── */
body.theme-cyber .stage-label,
body.theme-cyber .status-label,
body.theme-cyber .bracket-round-label,
body.theme-cyber .rr-round-label,
body.theme-cyber .bracket-score,
body.theme-cyber .rr-score,
body.theme-cyber .score-snap,
body.theme-cyber .match-team-score,
body.theme-cyber .pairings-title,
body.theme-cyber .pi-value,
body.theme-cyber .pi-ship-size,
body.theme-cyber .winner-title,
body.theme-cyber .winner-name {
  font-family: 'Orbitron', sans-serif;
}

body.theme-cyber .match-forfeit-badge,
body.theme-cyber .pi-ship-name,
body.theme-cyber .winner-close {
  font-family: 'Share Tech Mono', monospace;
}

/* ── Status labels — neon glow ── */
body.theme-cyber .stage-label { box-shadow: var(--glow2); }

body.theme-cyber .status-label.paused  { box-shadow: 0 0 8px rgba(251,191,36,0.4); }
body.theme-cyber .status-label.aborted { box-shadow: 0 0 8px rgba(255,51,102,0.3); }

/* ── Panels — subtle cyber backgrounds ── */
body.theme-cyber .pairings-header {
  background: linear-gradient(180deg, rgba(0,212,255,0.06) 0%, transparent 100%);
}

body.theme-cyber .pi-ship { background: rgba(0,212,255,0.06); }

/* ── Bracket highlights ── */
body.theme-cyber .bracket-match.active {
  box-shadow: 0 0 8px rgba(255,107,53,0.3);
}

body.theme-cyber .bracket-team { background: rgba(6,15,30,0.6); }
body.theme-cyber .bracket-team.winner[data-play-order="first"],
body.theme-cyber .bracket-team.playing[data-play-order="first"]  { background: rgba(0,212,255,0.07); }
body.theme-cyber .bracket-team.winner[data-play-order="second"],
body.theme-cyber .bracket-team.playing[data-play-order="second"] { background: rgba(255,107,53,0.07); }

body.theme-cyber .rr-match.active { background: rgba(0,212,255,0.04); }

/* ── Match cards — neon alt-pulse ── */
body.theme-cyber .match-card { background: rgba(0,0,0,0.2); }
body.theme-cyber .match-card.active {
  background: rgba(0,212,255,0.04);
  animation: matchpulse 2s ease-in-out infinite;
}

@keyframes matchpulse {
  0%   { border-color: rgba(0,212,255,0.55);  box-shadow: 0 0 10px rgba(0,212,255,0.25); }
  50%  { border-color: rgba(255,107,53,0.55); box-shadow: 0 0 10px rgba(255,107,53,0.25); }
  100% { border-color: rgba(0,212,255,0.55);  box-shadow: 0 0 10px rgba(0,212,255,0.25); }
}

body.theme-cyber .match-forfeit-badge { color: #994444; }
body.theme-cyber .score-snap.forfeit  { color: #994444; }

/* ── Standings — neon name glow ── */
body.theme-cyber .standing-row:hover { background: rgba(0,212,255,0.04); }
body.theme-cyber .standing-row[data-play-order="first"] {
  background: rgba(0,212,255,0.10);
  border-left: 2px solid var(--play-order-first-color);
}
body.theme-cyber .standing-row[data-play-order="second"] {
  background: rgba(255,107,53,0.10);
  border-left: 2px solid var(--play-order-second-color);
}
body.theme-cyber .standing-row[data-play-order="first"]  .standing-name { text-shadow: 0 0 14px var(--play-order-first-color); }
body.theme-cyber .standing-row[data-play-order="second"] .standing-name { text-shadow: 0 0 14px var(--play-order-second-color); }
body.theme-cyber .standing-row.highlight-playing {
  background: rgba(255,255,255,0.06);
  border-left: 2px solid var(--dim);
}
body.theme-cyber .standing-row.highlight-playing .standing-name { color: #ccc; }

/* ── Lobby neon dots ── */
body.theme-cyber .lobby-row:hover { background: rgba(0,212,255,0.04); }
body.theme-cyber .lobby-online .lobby-dot { box-shadow: 0 0 8px var(--success); }
body.theme-cyber .lobby-registered .lobby-dot { box-shadow: 0 0 6px rgba(255,215,0,0.3); }

/* ── Registration badge tints ── */
body.theme-cyber .reg-open   { background: rgba(0,255,159,0.15);  border-color: rgba(0,255,159,0.3); }
body.theme-cyber .reg-closed { background: rgba(255,51,102,0.15); border-color: rgba(255,51,102,0.3); }

/* ── Pairings / Winner overlays ── */
body.theme-cyber .pairings-overlay { background: rgba(3,8,16,0.96); }
body.theme-cyber .pairings-overlay.show { opacity: 1; }

body.theme-cyber .pairings-title { text-shadow: var(--glow); }

body.theme-cyber .winner-overlay { background: rgba(3,8,16,0.94); }
body.theme-cyber .winner-overlay.show { opacity: 1; }

body.theme-cyber .winner-name {
  text-shadow: 0 0 40px var(--accent1), 0 0 80px rgba(0,212,255,0.3);
}

}

