```python
def trim_to(line: str, limit: int) -> str:
    if limit < 4:
        raise ValueError("Limit must be at least 4")
    
    if len(line) <= limit:
        return line
    
    trimmed = line[:limit - 3] + "..."
    last_space = trimmed.rfind(' ')
    if last_space != -1:
        return trimmed[:last_space] + '...'
    
    return trimmed
```