body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
	background-color: #f5f5f5;
}

.container {
	background: white;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	padding: 30px;
}

h1 {
	color: #333;
	margin-bottom: 30px;
}

.section {
	margin-bottom: 30px;
	padding: 20px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
}

.section h2 {
	color: #555;
	margin-top: 0;
	margin-bottom: 15px;
}

.form-group {
	margin-bottom: 15px;
}

label {
	display: block;
	margin-bottom: 5px;
	font-weight: 500;
	color: #666;
}

input,
select,
textarea {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	box-sizing: border-box;
}

button {
	background-color: #007bff;
	color: white;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	margin-right: 10px;
}

button:hover {
	background-color: #0056b3;
}

button:disabled {
	background-color: #6c757d;
	cursor: not-allowed;
}

.status {
	padding: 10px;
	border-radius: 4px;
	margin-bottom: 20px;
}

.status.connected {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.status.disconnected {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.log-container {
	max-height: 300px;
	overflow-y: auto;
	background-color: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	padding: 10px;
	font-family: 'Courier New', monospace;
	font-size: 12px;
}

.log-entry {
	margin-bottom: 5px;
	padding: 5px;
	background-color: white;
	border-radius: 2px;
}

.log-entry.error {
	background-color: #ffe0e0;
	color: #d00;
}

.log-entry.success {
	background-color: #e0ffe0;
	color: #080;
}

#messagesList {
	max-height: 400px;
	overflow-y: auto;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px;
	margin-bottom: 15px;
	background-color: #fafafa;
}

.message-item {
	padding: 10px;
	margin-bottom: 10px;
	background-color: white;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	max-width: 70%;
	display: flex;
	flex-direction: column;
}

/* 내 메시지 - 오른쪽 정렬 */
.message-item.my-message {
	margin-left: auto;
	margin-right: 0;
	background-color: #007bff;
	color: white;
}

.message-item.my-message .message-author {
	color: #e3f2fd;
}

.message-item.my-message .message-content {
	color: white;
}

.message-item.my-message .message-time {
	color: #bbdefb;
}

/* 다른 사용자 메시지 - 왼쪽 정렬 */  
.message-item.other-message {
	margin-left: 0;
	margin-right: auto;
	background-color: white;
}

.message-author {
	font-weight: bold;
	color: #007bff;
	margin-bottom: 5px;
}

.message-content {
	color: #333;
}

.message-time {
	font-size: 11px;
	color: #999;
	margin-top: 5px;
}