:root {
  /* Core color values (RGB values for consistency) */
  --gd-red: 239, 68, 68;
  --gd-green: 34, 197, 94;
  --gd-blue: 59, 130, 246;
  --gd-cyan: 6, 182, 212;
  --gd-orange: 249, 115, 22;
  --gd-yellow: 234, 179, 8;
  --gd-teal: 20, 184, 166;
  --gd-purple: 147, 51, 234;
  --gd-gray: 148, 163, 184;
}

/* Base gradient utility classes */
.gradient-bg {
  background: rgba(var(--gradient-color), 0.06);
}

.gradient-bg-strong {
  background: rgba(var(--gradient-color), 0.09);
}

.gradient-border {
  border: 1px solid rgba(var(--gradient-color), 0.16);
}

.gradient-shimmer {
  background: rgba(var(--gradient-color), 0.07);
}

.gradient-left-border {
  background: rgba(var(--gradient-color), 0.1);
  border-left: 3px solid rgba(var(--gradient-color), 0.24);
}

.gradient-shadow {
  box-shadow: 0 2px 8px rgba(var(--gradient-color), 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.gradient-icon-filter {
  filter: drop-shadow(0 1px 2px rgba(var(--gradient-color), 0.2));
}

.gradient-accent {
  background: rgba(var(--gradient-color), 0.7);
}

.gradient-inner-glow {
  background: rgba(var(--gradient-color), 0.05);
}

.gradient-pattern {
  background: rgba(var(--gradient-color), 0.04);
}

/* Color-specific classes */
.gradient-red {
  --gradient-color: var(--gd-red);
}

.gradient-green {
  --gradient-color: var(--gd-green);
}

.gradient-blue {
  --gradient-color: var(--gd-blue);
}

.gradient-cyan {
  --gradient-color: var(--gd-cyan);
}

.gradient-orange {
  --gradient-color: var(--gd-orange);
}

.gradient-yellow {
  --gradient-color: var(--gd-yellow);
}

.gradient-teal {
  --gradient-color: var(--gd-teal);
}

.gradient-purple {
  --gradient-color: var(--gd-purple);
}

.gradient-gray {
  --gradient-color: var(--gd-gray);
}

.gradient-grey {
  --gradient-color: var(--color-grey);
}

/* Generic player area card utility */
.player-area-card {
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.player-area-card.gradient-red {
  --gradient-color: var(--gd-red);
}

.player-area-card.gradient-green {
  --gradient-color: var(--gd-green);
}

.player-area-card.gradient-blue {
  --gradient-color: var(--gd-blue);
}

.player-area-card.gradient-cyan {
  --gradient-color: var(--gd-cyan);
}

.player-area-card.gradient-orange {
  --gradient-color: var(--gd-orange);
}

.player-area-card.gradient-yellow {
  --gradient-color: var(--gd-yellow);
}

.player-area-card.gradient-teal {
  --gradient-color: var(--gd-teal);
}

.player-area-card.gradient-purple {
  --gradient-color: var(--gd-purple);
}

.player-area-card.gradient-gray {
  --gradient-color: var(--gd-gray);
}

.player-area-card.gradient-grey {
  --gradient-color: var(--color-grey);
}

/* Shimmer component styles */
.shimmer-container {
  position: relative;
  overflow: hidden;
}

.shimmer-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(var(--gradient-color), 0.03);
  pointer-events: none;
}

.shimmer-container.gradient-red {
  --gradient-color: var(--gd-red);
}

.shimmer-container.gradient-green {
  --gradient-color: var(--gd-green);
}

.shimmer-container.gradient-blue {
  --gradient-color: var(--gd-blue);
}

.shimmer-container.gradient-cyan {
  --gradient-color: var(--gd-cyan);
}

.shimmer-container.gradient-orange {
  --gradient-color: var(--gd-orange);
}

.shimmer-container.gradient-yellow {
  --gradient-color: var(--gd-yellow);
}

.shimmer-container.gradient-teal {
  --gradient-color: var(--gd-teal);
}

.shimmer-container.gradient-purple {
  --gradient-color: var(--gd-purple);
}

.shimmer-container.gradient-gray {
  --gradient-color: var(--gd-gray);
}

.shimmer-container.gradient-grey {
  --gradient-color: var(--color-grey);
}

/* Slightly stronger red for better contrast on secret objectives */
.gradient-red.gradient-border {
  border-color: rgba(var(--gd-red), 0.26);
}

.gradient-red.gradient-shimmer {
  background: rgba(var(--gd-red), 0.1);
}

.shimmer-container.gradient-red::before {
  background: rgba(var(--gd-red), 0.06);
}

/* Stronger cyan for Promissory Notes */
.gradient-cyan.gradient-border {
  border-color: rgba(var(--gd-cyan), 0.3);
  background: rgba(var(--gd-cyan), 0.08);
}
/* Slightly stronger blue for Stage II objectives */
.gradient-blue.gradient-border {
  border-color: rgba(var(--gd-blue), 0.24);
  background: rgba(var(--gd-blue), 0.08);
}

.shimmer-container.gradient-blue::before {
  background: rgba(var(--gd-blue), 0.05);
}

/* Slightly stronger orange for Stage I objectives */
.gradient-orange.gradient-border {
  border-color: rgba(var(--gd-orange), 0.28);
  background: rgba(var(--gd-orange), 0.10);
}

.shimmer-container.gradient-orange::before {
  background: rgba(var(--gd-orange), 0.055);
}

/* Slightly stronger purple for Law chips */
.gradient-purple.gradient-border {
  border-color: rgba(var(--gd-purple), 0.26);
  background: rgba(var(--gd-purple), 0.09);
}

.shimmer-container.gradient-purple::before {
  background: rgba(var(--gd-purple), 0.055);
}

/* Slightly stronger green for Leader chips */
.gradient-green.gradient-border {
  border-color: rgba(var(--gd-green), 0.26);
  background: rgba(var(--gd-green), 0.05);
}

.shimmer-container.gradient-green::before {
  background: rgba(var(--gd-green), 0.025);
}


/* Special blue pattern for certain components */
.gradient-blue .gradient-pattern {
  background: rgba(var(--gd-blue), 0.025);
}