/* 响应式设计 */

/* 大屏幕优化 (>1400px) */
@media (min-width: 1400px) {
  .game-container {
    max-width: 1600px;
  }

  .board-section {
    flex: 0 0 850px;
    max-width: 850px;
  }
}

/* 中等屏幕 (1024px - 1399px) */
@media (min-width: 1024px) and (max-width: 1399px) {
  .game-container {
    max-width: 1200px;
  }

  .board-section {
    flex: 0 0 700px;
    max-width: 700px;
  }

  .dashboard-section {
    flex: 1;
    min-width: 350px;
  }
}

/* 中小屏幕 (768px - 1023px) - 难度卡片改为2列 */
@media (min-width: 768px) and (max-width: 1023px) {
  .difficulty-options {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* 小屏幕 (480px - 767px) - 难度卡片改为1列 */
@media (min-width: 480px) and (max-width: 767px) {
  .difficulty-options {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .setup-container {
    padding: 25px;
  }
}

/* 平板设备 (768px - 1023px) */
@media (max-width: 1023px) {
  .difficulty-options {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .difficulty-card {
    padding: 12px;
  }

  .difficulty-icon {
    font-size: 35px;
  }

  #game-screen {
    padding: 15px;
    overflow-y: auto;
  }

  .game-container {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    max-width: 100%;
    min-height: auto;
  }

  .board-section {
    width: 100%;
    max-width: 600px;
    flex: none;
  }

  .dashboard-section {
    width: 100%;
    max-width: 600px;
    flex: none;
    max-height: none;
    overflow-y: visible;
  }

  .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .game-controls {
    flex-wrap: wrap;
  }

  .game-controls .btn {
    flex: 1 1 calc(50% - 5px);
    min-width: 140px;
  }
}

/* 手机设备 (<768px) */
@media (max-width: 767px) {
  body {
    overflow-x: hidden;
  }

  #game-screen {
    padding: 10px;
    overflow-y: auto;
  }

  .game-container {
    gap: 10px;
    flex-direction: column;
    align-items: center;
    min-height: auto;
  }

  .board-section {
    max-width: 100%;
    width: 100%;
    flex: none;
  }

  .dashboard-section {
    width: 100%;
    max-width: 100%;
    flex: none;
    max-height: none;
    overflow-y: visible;
  }

  #dashboard {
    min-height: auto;
  }

  .game-controls {
    flex-direction: column;
    gap: 8px;
  }

  .game-controls .btn {
    width: 100%;
    min-width: auto;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .stat-value {
    font-size: 20px;
  }

  .stat-value.highlight {
    font-size: 24px;
  }

  #dashboard {
    padding: 15px;
  }

  #dashboard h2 {
    font-size: 20px;
  }

  .setup-container {
    padding: 20px;
    width: 95%;
    max-height: 85vh;
  }

  .setup-container h1 {
    font-size: 28px;
  }

  .modal-content {
    padding: 20px;
    width: 95%;
    max-width: 95%;
  }

  .modal-title {
    font-size: 20px;
  }

  .input-group {
    flex-wrap: wrap;
  }

  .input-group label {
    min-width: 100%;
  }

  .input-group input[type="text"] {
    width: 100%;
  }
}

/* 小屏手机 (<480px) */
@media (max-width: 479px) {
  #game-screen {
    padding: 5px;
  }

  .game-container {
    gap: 8px;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .asset-info-row {
    flex-direction: column;
    gap: 5px;
  }

  .modal-actions {
    flex-direction: column;
    gap: 8px;
  }

  .modal-actions .btn {
    width: 100%;
  }

  .setup-container {
    padding: 15px;
    max-height: 90vh;
    overflow-y: auto;
  }

  .setup-container h1 {
    font-size: 24px;
  }

  .difficulty-options {
    gap: 8px;
  }

  .difficulty-card {
    padding: 10px;
  }

  .difficulty-icon {
    font-size: 30px;
  }

  .difficulty-name {
    font-size: 16px;
  }

  .difficulty-desc {
    font-size: 12px;
  }

  .game-controls .btn {
    padding: 12px 16px;
    font-size: 14px;
  }

  .btn-large {
    padding: 12px 24px;
    font-size: 16px;
  }

  #dashboard {
    padding: 10px;
  }
}

/* 超小屏幕 (<360px) */
@media (max-width: 359px) {
  .setup-container {
    padding: 10px;
  }

  .setup-container h1 {
    font-size: 20px;
  }

  #dashboard {
    padding: 8px;
  }

  #dashboard h2 {
    font-size: 16px;
  }

  .stat-label {
    font-size: 11px;
  }

  .stat-value {
    font-size: 16px;
  }

  .stat-value.highlight {
    font-size: 20px;
  }
}
