## ADDED Requirements

### Requirement: 月曆格內 inline 行程顯示
月曆每個日期格 SHALL 在不需點擊的情況下，顯示當日行程的標題、時間與分類顏色。

#### Scenario: 當日有 1-2 條行程
- **WHEN** 使用者在月覽看到某日期，且該日期僅有 1 或 2 條行程
- **THEN** 該日期格內 SHALL 顯示所有行程，每條以一行 chip 呈現（左側 category 色邊條 + `HH:mm` + 標題截斷）

#### Scenario: 當日有超過 2 條行程
- **WHEN** 某日期有 3 條以上行程
- **THEN** 該日期格 SHALL 顯示前 2 條（或在「緊湊模式」下前 3 條），並在最後一行顯示 `+N` overflow indicator
- **AND** 點擊任意位置 SHALL 開啟 Day List Modal 顯示完整列表

#### Scenario: 行程無 startTime
- **WHEN** 行程資料中 `startTime` 為 null
- **THEN** chip 中時間欄位 SHALL 顯示 `--:--`，且該行程 SHALL 排在當日其他有時間行程之後

#### Scenario: 點擊 chip 直接編輯
- **WHEN** 使用者點擊月曆格內某條 chip
- **THEN** SHALL 直接開啟該行程的編輯 Modal（不再先進 Day List）
- **AND** 點擊事件 SHALL 阻止冒泡，避免同時觸發「打開 Day List」

### Requirement: 行事曆密度切換
月曆 SHALL 提供「舒適」與「緊湊」兩種顯示密度，並記住使用者偏好。

#### Scenario: 切換到緊湊模式
- **WHEN** 使用者點擊 header 的「緊湊」segment
- **THEN** 月曆每格 SHALL 改為較小字體、較矮 `min-height`、最多顯示 3 條 chip
- **AND** 偏好 SHALL 寫入 `localStorage.calendarDensity = 'compact'`

#### Scenario: 重新載入頁面
- **WHEN** 使用者重新整理頁面
- **THEN** 月曆 SHALL 從 `localStorage.calendarDensity` 讀取偏好；若無則預設 `'comfortable'`
