geist-bold-digits.jsonfeat(calendar): tell the calendar tab apart at a glance A Cedar tab looked the same whether it held mail or the calendar, so the calendar is now marked the way Google Calendar marks its own: today's date, set in Geist Bold on Cedar's surface colour, and a title that saves a bookmark as a calendar rather than as another "Cedar". The date has to be read in the browser — the server renders the same HTML for everyone, so a day baked in there is wrong for anyone far enough east or west — and the icons are 31 plain files rather than one drawn at runtime, because a canvas-generated favicon has no stable URL for a bookmark or the favicon cache to file under. Co-Authored-By: Claude Opus 5 (1M context) <<email>>Aug 30, 2026, 3:42 PMgenerate-calendar-favicons.mjsfeat(calendar): tell the calendar tab apart at a glance A Cedar tab looked the same whether it held mail or the calendar, so the calendar is now marked the way Google Calendar marks its own: today's date, set in Geist Bold on Cedar's surface colour, and a title that saves a bookmark as a calendar rather than as another "Cedar". The date has to be read in the browser — the server renders the same HTML for everyone, so a day baked in there is wrong for anyone far enough east or west — and the icons are 31 plain files rather than one drawn at runtime, because a canvas-generated favicon has no stable URL for a bookmark or the favicon cache to file under. Co-Authored-By: Claude Opus 5 (1M context) <<email>>Aug 30, 2026, 3:42 PM