// 제목 영역 .titleSection { padding: 16px; background: white; border-bottom: 1px solid #f3f4f6; .streamTitle { font-size: 1.1rem; font-weight: 600; color: #111827; line-height: 1.4; margin: 0; // 긴 제목 말줄임 (최대 2줄) overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; // 모바일에서는 약간 작게 @media (max-width: 768px) { font-size: 1rem; -webkit-line-clamp: 2; } } } // 스트리머 정보 + 액션 버튼 컨테이너 .infoActionsContainer { display: flex; justify-content: space-between; align-items: center; padding: 16px; background: white; border-bottom: 1px solid #f3f4f6; } // 스트리머 정보 .streamerInfo { display: flex; align-items: center; gap: 12px; .streamerAvatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #f3f4f6; flex-shrink: 0; img { width: 100%; height: 100%; object-fit: cover; } .avatarPlaceholder { width: 100%; height: 100%; background: linear-gradient(135deg, #3b82f6, #1e40af); display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; font-size: 0.875rem; } } .streamerDetails { flex: 1; min-width: 0; .streamerName { font-size: 0.9rem; font-weight: 500; color: #111827; margin-bottom: 4px; } .viewerCount { font-size: 0.8rem; color: #6b7280; } } } // 액션 버튼 영역 .videoActions { display: flex; justify-content: flex-start; .actionButtons { display: flex; gap: 12px; } .bookmarkBtn, .shareBtn { background: none; border: none; color: #6b7280; cursor: pointer; padding: 8px; border-radius: 4px; transition: all 0.2s; &:hover { background-color: #f3f4f6; color: #374151; } } } // 모바일 최적화 @media (max-width: 480px) { .infoActionsContainer { padding: 12px; } .streamerInfo { .streamerAvatar { width: 36px; height: 36px; } .streamerDetails { .streamerName { font-size: 0.8rem; } .viewerCount { font-size: 0.75rem; } } } }