The file /Users/neog/Apps/macOS/PredictiveHistory-macOS/Features/VideoList/VideoListView.swift has been updated. Here's the result of running `cat -n` on a snippet of the edited file: 106→ .background(Color.secondary.opacity(0.08)) 107→ } 108→} 109→ 110→struct VideoRow: View { 111→ @EnvironmentObject var dataManager: DataManager 112→ let video: Video 113→ @State private var isHovered = false 114→ 115→ private var progress: VideoProgress { dataManager.progressFor(video: video) } 116→ private var hasTranscript: Bool { dataManager.hasTranscript(for: video) } 117→ 118→ var body: some View { 119→ HStack(spacing: 12) { 120→ // Order badge with status 121→ ZStack { 122→ RoundedRectangle(cornerRadius: 6) 123→ .fill(progress.isWatched ? Color.green.opacity(0.15) : Color.secondary.opacity(0.08)) 124→ .frame(width: 36, height: 36) 125→ 126→ if progress.isWatched { 127→ Image(systemName: "checkmark") 128→ .font(.caption.bold()) 129→ .foregroundStyle(.green) 130→ } else { 131→ Text("\(video.order)") 132→ .font(.caption.monospaced().bold()) 133→ .foregroundStyle(.secondary) 134→ } 135→ } 136→ .scaleEffect(isHovered ? 1.05 : 1.0) 137→ .animation(.spring(response: 0.3, dampingFraction: 0.7), value: isHovered) 138→ 139→ // Video info 140→ VStack(alignment: .leading, spacing: 3) { 141→ Text(video.title) 142→ .font(.subheadline.weight(.medium)) 143→ .lineLimit(2) 144→ .foregroundStyle(progress.isWatched ? .secondary : .primary) 145→ 146→ HStack(spacing: 12) { 147→ Label(video.duration, systemImage: "clock") 148→ Label(video.views, systemImage: "eye") 149→ 150→ if hasTranscript { 151→ HStack(spacing: 3) { 152→ Image(systemName: "doc.text.fill") 153→ Text("Transcript") 154→ } 155→ .foregroundStyle(.green) 156→ } 157→ } 158→ .font(.caption2) 159→ .foregroundStyle(.tertiary) 160→ } 161→ 162→ Spacer() 163→ 164→ // Quick action indicator on hover 165→ if isHovered && !progress.isWatched { 166→ Image(systemName: "play.circle") 167→ .font(.title3) 168→ .foregroundStyle(.secondary) 169→ .transition(.scale.combined(with: .opacity)) 170→ } 171→ } 172→ .padding(.vertical, 6) 173→ .padding(.horizontal, 4) 174→ .background( 175→ RoundedRectangle(cornerRadius: 8) 176→ .fill(isHovered ? Color.secondary.opacity(0.06) : Color.clear) 177→ ) 178→ .contentShape(Rectangle()) 179→ .onHover { hovering in 180→ withAnimation(.easeOut(duration: 0.15)) { 181→ isHovered = hovering 182→ } 183→ } 184→ .contextMenu { 185→ VideoContextMenu(video: video, hasTranscript: hasTranscript, isWatched: progress.isWatched) 186→ } 187→ } 188→} 189→ 190→struct CompactVideoRow: View { 191→ @EnvironmentObject var dataManager: DataManager 192→ let video: Video