.controls {
  background: var(--bg-card);
  border-radius: 16px;
  padding: 1.25rem;
  box-shadow: var(--shadow-lg);
  display: grid;
  gap: 1.25rem;
}

.controls__bar {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.controls__start {
  background: var(--color-primary);
  color: var(--text-on-primary);
  border: none;
  padding: 0.6rem 1.4rem;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: var(--shadow-primary);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.controls__start:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: var(--shadow-primary);
  filter: brightness(1.1);
}

.controls__start:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}

.mode-switch {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-bottom: 0;
}

.mode-switch__label {
  font-weight: 600;
  color: var(--text-secondary);
  margin: 0;
}

.mode-switch__control {
  display: inline-flex;
}

.mode-switch__option {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: var(--text-secondary);
  cursor: pointer;
}

.mode-switch__option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mode-switch .pill-option {
  white-space: nowrap;
}

@media (max-width: 520px) {
  .mode-switch__control {
    width: 100%;
    justify-content: space-between;
  }

  .mode-switch__option {
    flex: 1;
  }

  .mode-switch__option span {
    width: 100%;
    text-align: center;
  }
}
