```python
"""Firmware build selection within an installed release line."""


def compare_builds(a, b):
    left = [int(part) for part in a.split(".")]
    right = [int(part) for part in b.split(".")]
    for i in range(max(len(left), len(right))):
        x = left[i] if i < len(left) else 0
        y = right[i] if i < len(right) else 0
        if x > y:
            return 1
        if x < y:
            return -1
    return 0


def pick_upgrade(installed: str, offers: list) -> str | None:
    if not isinstance(offers, list):
        raise ValueError("offers argument must be a list")
    if not all(isinstance(offer, str) and "." in offer for offer in offers):
        raise ValueError("offers argument must be a list of strings in dotted form")
    for offer in offers:
        if offer.split(".")[0] != installed.split(".")[0]:
            continue
        if compare_builds(offer, installed) >= 0:
            return offer
    return None
```