/* Graphics Mode Support - Dynamic Quality Settings */

/* CSS Custom Properties for Graphics Control */
:root {
  --animation-speed: 1;
  --effect-intensity: 0.7;
  --shadow-quality: medium;
}

/* Low Graphics Mode - Minimum Requirements for Older PCs */
.graphics-low {
  --animation-speed: 0;
  --effect-intensity: 0;
  --shadow-quality: none;
}

.graphics-low * {
  animation: none !important;
  animation-duration: 0s !important;
  animation-iteration-count: 0 !important;
  transition: none !important;
  transition-duration: 0s !important;
  transform: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.graphics-low .particle,
.graphics-low .particle-system,
.graphics-low .particle-container,
.graphics-low .confetti,
.graphics-low .sparkle,
.graphics-low .glow-effect,
.graphics-low .shine-effect,
.graphics-low .reflection {
  display: none !important;
  visibility: hidden !important;
}

.graphics-low .slot-machine-enhanced,
.graphics-low .slot-machine-photorealistic,
.graphics-low .blackjack-table-enhanced {
  transform: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
  background-image: none !important;
}

.graphics-low .btn-casino-enhanced,
.graphics-low .end-turn-enhanced,
.graphics-low .menu-button {
  transform: none !important;
  animation: none !important;
  transition: none !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

.graphics-low .casino-chip::before,
.graphics-low .casino-chip::after {
  display: none !important;
}

.graphics-low .card-enhanced,
.graphics-low .building-card {
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
  transform: none !important;
}

.graphics-low img,
.graphics-low svg {
  image-rendering: optimizeSpeed !important;
}

.graphics-low .slot-reel-svg,
.graphics-low .reel-symbol-svg {
  animation: none !important;
}

.graphics-low .winner {
  animation: none !important;
  border: 2px solid gold !important;
}

/* Normal Graphics Mode - Performance Optimized */
.graphics-normal {
  --animation-speed: 0;
  --effect-intensity: 0.3;
  --shadow-quality: low;
}

.graphics-normal * {
  animation-duration: 0.1s !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.1s !important;
}

.graphics-normal .particle,
.graphics-normal .particle-system {
  display: none !important;
}

.graphics-normal .slot-machine-enhanced,
.graphics-normal .blackjack-table-enhanced {
  transform: none !important;
  backdrop-filter: none !important;
}

.graphics-normal .btn-casino-enhanced,
.graphics-normal .end-turn-enhanced,
.graphics-normal .menu-button {
  transform: none !important;
  animation: none !important;
  transition: transform 0.1s ease !important;
}

.graphics-normal .casino-chip::before {
  animation: none !important;
}

/* High Graphics Mode - Standard Quality */
.graphics-high {
  --animation-speed: 1;
  --effect-intensity: 0.7;
  --shadow-quality: medium;
}

.graphics-high * {
  animation-duration: calc(var(--animation-speed) * 1s);
  transition-duration: calc(var(--animation-speed) * 0.3s);
}

/* Ultra HD Graphics Mode - Maximum Quality */
.graphics-ultra {
  --animation-speed: 1;
  --effect-intensity: 1;
  --shadow-quality: high;
}

.graphics-ultra * {
  animation-duration: calc(var(--animation-speed) * 1.5s);
  transition-duration: calc(var(--animation-speed) * 0.4s);
}

.graphics-ultra .slot-machine-enhanced {
  box-shadow: 
    0 40px 100px rgba(0, 0, 0, 0.9),
    inset 0 8px 25px rgba(255, 255, 255, 0.2),
    0 0 200px rgba(255, 215, 0, 0.4),
    0 0 400px rgba(255, 0, 100, 0.2) !important;
  transform: perspective(1200px) rotateX(3deg) !important;
}

.graphics-ultra .blackjack-table-enhanced {
  box-shadow: 
    0 40px 100px rgba(0, 0, 0, 0.9),
    inset 0 0 100px rgba(0, 0, 0, 0.7),
    0 0 150px rgba(46, 125, 50, 0.5),
    0 0 300px rgba(255, 215, 0, 0.2) !important;
  transform: perspective(1200px) rotateX(4deg) !important;
}

.graphics-ultra .card-enhanced {
  box-shadow: 
    0 10px 40px rgba(0, 0, 0, 0.5),
    inset 0 5px 20px rgba(255, 255, 255, 0.7),
    0 0 30px rgba(255, 215, 0, 0.2) !important;
}

.graphics-ultra .casino-chip {
  box-shadow: 
    0 10px 35px rgba(0, 0, 0, 0.5),
    inset 0 5px 15px rgba(255, 255, 255, 0.4),
    0 0 40px rgba(255, 215, 0, 0.3) !important;
}

.graphics-ultra .btn-casino-enhanced {
  box-shadow: 
    0 10px 40px rgba(255, 215, 0, 0.5),
    inset 0 5px 20px rgba(255, 255, 255, 0.5),
    0 0 60px rgba(255, 215, 0, 0.3) !important;
}

.graphics-ultra .end-turn-enhanced {
  box-shadow: 
    0 15px 50px rgba(220, 53, 69, 0.5),
    inset 0 5px 20px rgba(255, 255, 255, 0.3),
    0 0 80px rgba(220, 53, 69, 0.4) !important;
}

.graphics-ultra .menu-button {
  box-shadow: 
    0 20px 60px rgba(74, 139, 194, 0.5),
    inset 0 5px 20px rgba(255, 255, 255, 0.4),
    0 0 100px rgba(74, 139, 194, 0.4) !important;
}

/* Enhanced Particle Effects for Ultra Mode */
.graphics-ultra .particle {
  width: 8px !important;
  height: 8px !important;
  box-shadow: 
    0 0 15px rgba(255, 215, 0, 1),
    0 0 30px rgba(255, 215, 0, 0.6) !important;
}

.graphics-ultra .particle-container {
  opacity: 1 !important;
}

/* Shadow Quality Controls */
.graphics-normal .building-card,
.graphics-normal .card-enhanced,
.graphics-normal .casino-chip {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
}

.graphics-high .building-card,
.graphics-high .card-enhanced,
.graphics-high .casino-chip {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

.graphics-ultra .building-card,
.graphics-ultra .card-enhanced,
.graphics-ultra .casino-chip {
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.6) !important;
}

/* Animation Intensity Controls */
.graphics-normal .win-animation,
.graphics-normal .jackpot-animation {
  animation: none !important;
  transform: scale(1) !important;
}

.graphics-high .win-animation {
  animation: winCelebration 1s ease-in-out !important;
}

.graphics-ultra .win-animation {
  animation: winCelebration 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.graphics-normal .slot-reel-enhanced::before,
.graphics-normal .btn-casino-enhanced::before,
.graphics-normal .menu-button::before {
  display: none !important;
}

/* Performance Optimizations */
.graphics-normal .backdrop-filter {
  backdrop-filter: none !important;
}

.graphics-high .backdrop-filter {
  backdrop-filter: blur(10px) !important;
}

.graphics-ultra .backdrop-filter {
  backdrop-filter: blur(20px) !important;
}

/* Responsive Graphics Adjustments */
@media (max-width: 768px) {
  .graphics-ultra {
    --effect-intensity: 0.8;
    --shadow-quality: medium;
  }
  
  .graphics-high {
    --effect-intensity: 0.6;
  }
}

@media (max-width: 480px) {
  .graphics-ultra {
    --effect-intensity: 0.6;
    --shadow-quality: medium;
  }
  
  .graphics-high {
    --effect-intensity: 0.4;
  }
  
  .graphics-normal {
    --effect-intensity: 0.2;
  }
}
