body {
	font-family: 'Noto Sans KR', sans-serif;
	line-height: 1.6;
	color: #333;
	background-color: #f8f9fa;
}

.main-container {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	background-color: white;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	padding: 30px;
	margin-top: 20px;
	margin-bottom: 20px;
}

@media (max-width: 768px) {
	.main-container {
		width: 95%;
		padding: 15px;
	}
}

.header {
	text-align: center;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 3px solid #007bff;
}

.header h1 {
	color: #007bff;
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 2.5em;
}

.header .subtitle {
	color: #6c757d;
	font-size: 1.2em;
	font-weight: 300;
}

.category-section {
	margin-bottom: 50px;
}

.category-header {
	background: linear-gradient(135deg, #007bff, #0056b3);
	color: white;
	padding: 15px 20px;
	border-radius: 8px;
	margin-bottom: 20px;
	box-shadow: 0 4px 6px rgba(0, 123, 255, 0.3);
}

.category-header h2 {
	margin: 0;
	font-weight: 600;
	font-size: 1.8em;
}

.category-header i {
	margin-right: 10px;
}

.table {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin-bottom: 0;
}

.table thead th {
	background-color: #343a40;
	color: white;
	font-weight: 600;
	text-align: center;
	padding: 15px 10px;
	border: none;
}

.table tbody tr:hover {
	background-color: #f8f9fa;
}

.table tbody td {
	padding: 12px 10px;
	vertical-align: middle;
	border-color: #dee2e6;
}

.table tbody tr:nth-child(even) {
	background-color: #f9f9f9;
}

.ai-link {
	color: #007bff;
	text-decoration: none;
	font-weight: 500;
}

.ai-link:hover {
	color: #0056b3;
	text-decoration: underline;
}

.badge-custom {
	background-color: #28a745;
	color: white;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 0.8em;
}

.table-responsive {
	border: none;
}

@media (max-width: 768px) {
	.header h1 {
		font-size: 2em;
	}

	.category-header h2 {
		font-size: 1.4em;
	}

	.table thead th,
	.table tbody td {
		padding: 8px 5px;
		font-size: 0.9em;
	}
}

.intro-section {
	background-color: #e9ecef;
	padding: 25px;
	border-radius: 8px;
	margin-bottom: 40px;
}

.intro-section p {
	margin-bottom: 0;
	font-size: 1.1em;
	text-align: center;
}