/**
 * FPL Team View - Theme Styles
 * 
 * All theme-specific styling for Light, Dark, Christmas, and Red & White themes
 */

/* ============================================
   LIGHT THEME (Default)
   ============================================ */
/* Light theme is the default in the main stylesheet */

/* ============================================
   DARK THEME
   ============================================ */

.fpl-dark .fpl-score-panel {
  background: linear-gradient(#0f1720, #081018);
  color: #e6eef6;
}

.fpl-dark .stat-value {
  color: #e6eef6;
}

.fpl-dark .stat-label,
.fpl-dark .stat-subsmall {
  color: #9fb4c8;
}

.fpl-dark .score-box {
  background: linear-gradient(180deg, #2a6b4f, #153428);
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.28);
}

.fpl-dark .score-number {
  color: #dff7ea;
}

.fpl-dark .player-card {
  background: rgba(255, 255, 255, 0.04);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.04);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.36);
}

.fpl-dark .player-name {
  background: #f6f6f6;
  color: #073;
}

.fpl-dark .player-points {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.fpl-dark .fpl-pitch {
  background: repeating-linear-gradient(
    180deg,
    #053826 0px,
    #053826 36px,
    #032f20 36px,
    #032f20 72px
  );
}

.fpl-dark .fpl-pitch::before,
.fpl-dark .fpl-pitch::after {
  background: #072b1c;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

/* ============================================
   CHRISTMAS THEME
   ============================================ */

.fpl-christmas .fpl-pitch {
  background-image: url('https://fpltoolbox.com/wp-content/uploads/2025/12/c6be1976-af20-4e05-a689-9c389d113ae9.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fpl-christmas .fpl-pitch::before,
.fpl-christmas .fpl-pitch::after {
  background: #b71c1c;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.fpl-christmas .fpl-pitch .fpl-snow-container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 8;
  overflow: hidden;
}

.fpl-christmas .fpl-pitch .fpl-snowflake {
  position: absolute;
  left: 0;
  top: 0;
  will-change: transform;
  user-select: none;
  pointer-events: none;
  display: block;
}

/* Snowflake falling animation */
@keyframes fpl-flake-fall {
  0% {
    transform: translateY(-10vh) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    transform: translateY(110vh) rotate(360deg);
    opacity: 0.9;
  }
}

/* ============================================
   RED & WHITE THEME (Paid Members)
   ============================================ */

.fpl-redwhite .fpl-pitch {
  background: repeating-linear-gradient(
    180deg,
    #b71c1c 0px,
    #b71c1c 40px,
    #ffffff 40px,
    #ffffff 80px
  );
  color: #ffffff;
}

.fpl-redwhite .fpl-pitch::before,
.fpl-redwhite .fpl-pitch::after {
  background: #ffffff;
  color: #b71c1c;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.fpl-redwhite .player-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(183, 28, 28, 0.12);
  color: #b71c1c;
}

.fpl-redwhite .player-name {
  background: #fff;
  color: #b71c1c;
}

.fpl-redwhite .player-points {
  background: #b71c1c;
  color: #fff;
}

/* ============================================
   BLACK OLED THEME (Paid Members)
   ============================================ */

.fpl-oled .fpl-score-panel {
  background: linear-gradient(#000000, #0a0a0a);
  color: #00ffff;
}

.fpl-oled .stat-value {
  color: #00ffff;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.8), 0 0 20px rgba(0, 255, 255, 0.4);
}

.fpl-oled .stat-label,
.fpl-oled .stat-subsmall {
  color: #89ff00;
}

.fpl-oled .score-box {
  background: linear-gradient(180deg, #000000, #1a1a2e);
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.5), 0 6px 0 rgba(0, 0, 0, 0.8);
}

.fpl-oled .score-number {
  color: #ff006e;
  text-shadow: 0 0 10px rgba(255, 0, 110, 0.8), 0 0 20px rgba(255, 0, 110, 0.4);
}

.fpl-oled .fpl-pitch {
  background: #000000;
}

.fpl-oled .fpl-pitch::before,
.fpl-oled .fpl-pitch::after {
  background: #0a0a0a;
  color: #00ffff;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.8);
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.4);
}

.fpl-oled .player-card {
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 255, 255, 0.3);
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
}

.fpl-oled .player-name {
  background: #000000;
  color: #89ff00;
  border: 1px solid rgba(137, 255, 0, 0.4);
  text-shadow: 0 0 5px rgba(137, 255, 0, 0.6);
}

.fpl-oled .player-points {
  background: linear-gradient(180deg, rgba(0, 255, 255, 0.2), rgba(255, 0, 110, 0.2));
  color: #00ffff;
  border-top: 1px solid rgba(0, 255, 255, 0.3);
  text-shadow: 0 0 5px rgba(0, 255, 255, 0.6);
}

.fpl-oled .score-chip {
  background: rgba(0, 0, 0, 0.8);
  color: #00ffff;
  border: 1px solid rgba(0, 255, 255, 0.4);
  text-shadow: 0 0 5px rgba(0, 255, 255, 0.6);
}

.fpl-oled .rank-up {
  color: #89ff00;
  text-shadow: 0 0 5px rgba(137, 255, 0, 0.6);
}

.fpl-oled .rank-down {
  color: #ff006e;
  text-shadow: 0 0 5px rgba(255, 0, 110, 0.6);
}

/* ============================================
   GREYSCALE THEME (Paid Members)
   ============================================ */

.fpl-greyscale .fpl-score-panel {
  background: linear-gradient(#f5f5f5, #e8e8e8);
  color: #000000;
}

.fpl-greyscale .stat-value {
  color: #000000;
}

.fpl-greyscale .stat-label,
.fpl-greyscale .stat-subsmall {
  color: #333333;
}

.fpl-greyscale .score-box {
  background: linear-gradient(180deg, #ffffff, #d0d0d0);
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.2);
}

.fpl-greyscale .score-number {
  color: #000000;
}

.fpl-greyscale .fpl-pitch {
  background: repeating-linear-gradient(
    180deg,
    #2a2a2a 0px,
    #2a2a2a 40px,
    #1a1a1a 40px,
    #1a1a1a 80px
  );
}

.fpl-greyscale .fpl-pitch::before,
.fpl-greyscale .fpl-pitch::after {
  background: #ffffff;
  color: #000000;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.fpl-greyscale .player-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.fpl-greyscale .player-shirt {
  filter: grayscale(100%) contrast(1.1);
}

.fpl-greyscale .player-name {
  background: #f5f5f5;
  color: #000000;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.fpl-greyscale .player-points {
  background: #2a2a2a;
  color: #ffffff;
}

.fpl-greyscale .score-chip {
  background: #333333;
  color: #ffffff;
}

.fpl-greyscale .rank-up {
  color: #1a1a1a;
}

.fpl-greyscale .rank-down {
  color: #1a1a1a;
}
