/* Tower Defence Mobile Responsive Styles */
@media (max-width: 768px) {
  #towerDefenceCanvas {
    max-width: 100%;
    height: auto !important;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
  
  .game-container {
    padding: 1rem !important;
    position: relative;
  }
  
  .hud {
    font-size: 0.8rem !important;
    padding: 0.5rem !important;
  }
  
  .control-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 1rem !important;
  }
  
  .control-button {
    min-width: 40px !important;
    min-height: 40px !important;
    font-size: 1rem !important;
    touch-action: manipulation !important;
  }
  
  .left-grid {
    flex-direction: column !important;
    gap: 0.5rem !important;
  }
  
  .right-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
  }
  
  .game-over-card {
    max-width: 90vw !important;
    margin: 0 auto !important;
  }
  
  .pause-button-mobile {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 100 !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    color: white !important;
    padding: 0.5rem !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 1.2rem !important;
    touch-action: manipulation !important;
  }
}

@media (max-width: 480px) {
  #towerDefenceCanvas {
    max-height: 60vh !important;
  }
  
  .control-button {
    padding: 0.8rem !important;
    font-size: 1rem !important;
  }
}

/* Touch device specific styles */
@media (hover: none) and (pointer: coarse) {
  .control-button:hover {
    background: var(--primary) !important;
  }
}