/* Tablet */
@media (max-width: 1024px) {
  .layout {
    grid-template-columns: 1fr 300px;
  }
  .wheel-container {
    max-width: 350px;
  }
}

/* Mobile: stack vertically, wheel on top */
@media (max-width: 768px) {
  .layout {
    grid-template-columns: 1fr;
    padding: 12px 16px 32px;
  }
  .wheel-container {
    max-width: 280px;
  }
  .app-header h1 {
    font-size: 1.1rem;
  }
  .tab {
    padding: 8px 14px;
    font-size: 0.85rem;
  }
  .btn-spin {
    padding: 14px 32px;
    font-size: 0.95rem;
  }
  .btn-stop {
    width: 76px;
    height: 76px;
    font-size: 0.85rem;
  }
  .sidebar {
    order: 2;
  }
  .popup-card {
    padding: 26px 20px 20px;
  }
}
