.season-fx {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
}
.season-fx-preview {
  position: relative;
  display: block;
  width: 100%;
  height: 180px;
  border-radius: 12px;
  overflow: hidden;
  background:
    radial-gradient(800px 180px at 80% -20%, rgba(251, 191, 36, 0.18), transparent 55%),
    linear-gradient(180deg, #0b1220, #111827);
  border: 1px solid var(--border-color, rgba(255,255,255,.08));
}
.season-fx-preview[data-mode="winter"] {
  background:
    radial-gradient(700px 160px at 50% -30%, rgba(147, 197, 253, 0.22), transparent 60%),
    linear-gradient(180deg, #0b1220, #111827);
}
.season-fx-preview[data-mode="off"] {
  background: #111827;
}
.season-pick {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.season-pick label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border-color, rgba(255,255,255,.1));
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  cursor: pointer;
  color: var(--text-color, #fff);
}
.season-pick label:has(input:checked) {
  border-color: #8b5cf6;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
  background: rgba(139, 92, 246, 0.12);
}
.season-pick strong { font-size: 14px; }
.season-pick small { color: var(--text-muted, #9ca3af); font-size: 12px; line-height: 1.4; }
.season-pick input { accent-color: #8b5cf6; }
@media (max-width: 800px) {
  .season-pick { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .season-fx { display: none !important; }
}
