36233058dd
Adds QuietHours config section (start/end as HH:MM local time). The loop's gatherer checks the window each tick: if now falls within [start, end), the State.QuietHours flag is set to true regardless of the config fact (which the voice toggle writes independently). Both sources activate quiet — schedule AND toggle. Handles midnight-crossing windows (23:00-08:00). The gate already reads State.QuietHours for care nudge suppression — no gate change needed.