from datetime import datetime, timedelta, timezone

# Global time offset for demo time-warp simulation
_time_offset: timedelta = timedelta()


def get_current_time() -> datetime:
    """Get current time (timezone-aware UTC) with any simulated offset applied."""
    return datetime.now(timezone.utc) + _time_offset


def time_warp(hours: int):
    """Advance simulated time by N hours (for demo purposes)."""
    global _time_offset
    _time_offset += timedelta(hours=hours)


def get_time_offset() -> timedelta:
    """Get the current time offset."""
    return _time_offset


def reset_time():
    """Reset time offset to zero."""
    global _time_offset
    _time_offset = timedelta()
