body {
    background-color: #f5f7fa;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.score-circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 2rem;
    font-weight: 700;
    color: white;
}

.score-circle.good { background: linear-gradient(135deg, #28a745, #20c997); }
.score-circle.medium { background: linear-gradient(135deg, #ffc107, #fd7e14); }
.score-circle.bad { background: linear-gradient(135deg, #dc3545, #e83e8c); }

.score-card {
    border: none;
    border-radius: 12px;
    transition: transform 0.2s;
}
.score-card:hover {
    transform: translateY(-2px);
}

.check-item:hover {
    background-color: #f8f9fa;
}

.card {
    border: none;
    border-radius: 12px;
}

.card-header {
    border-radius: 12px 12px 0 0 !important;
}

.table th {
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.progress {
    border-radius: 12px;
}

.progress-bar {
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.8rem;
}

/* 키워드 태그 */
.keyword-tag { display: inline-block; background: #e7f1ff; color: #0d6efd; border-radius: 20px; padding: 2px 10px; margin: 2px; font-size: 0.8rem; }
.tag-brand { background: #fff3cd; color: #856404; }
.tag-main { background: #d1e7dd; color: #0f5132; }
.tag-competitor { background: #f8d7da; color: #842029; }

/* AI 응답 렌더링 */
.ai-response table { width: 100%; margin-bottom: 1rem; }
.ai-response table th, .ai-response table td { border: 1px solid #dee2e6; padding: 8px; }
.ai-response table th { background: #f8f9fa; }
.ai-response blockquote { border-left: 4px solid #0d6efd; padding-left: 1rem; margin: 1rem 0; background: #f8f9fa; padding: 1rem; border-radius: 0 8px 8px 0; }
.ai-response h2 { margin-top: 1.5rem; padding-bottom: 0.3rem; border-bottom: 2px solid #dee2e6; }
.ai-response h3 { margin-top: 1rem; }

/* 진행 상태 아이템 */
.progress-item { border-left: 3px solid #6c757d; padding: 8px 12px; margin-bottom: 8px; background: #f8f9fa; border-radius: 0 8px 8px 0; }
.progress-item.running { border-left-color: #0d6efd; }
.progress-item.done { border-left-color: #198754; }
.progress-item.error { border-left-color: #dc3545; }

/* 로딩 스피너 */
.spin { animation: spin 1s linear infinite; display: inline-block; }
@keyframes spin { 100% { transform: rotate(360deg); } }

/* 콘텐츠 미리보기 */
.content-preview { max-height: 300px; overflow-y: auto; }

/* 통계 카드 */
.stat-card { border-radius: 12px; }
.stat-number { font-size: 2rem; font-weight: 700; }

/* 브랜드 하이라이트 */
.highlight-brand { background: #fff3cd; padding: 1px 3px; border-radius: 3px; font-weight: bold; }

/* 인용 점수 */
.citation-score { font-size: 3rem; font-weight: bold; }
.citation-score.high { color: #198754; }
.citation-score.mid { color: #ffc107; }
.citation-score.low { color: #dc3545; }

/* 콘텐츠 카드 호버 */
.content-card { transition: all 0.2s; cursor: pointer; }
.content-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.15); transform: translateY(-2px); }

/* 라이브러리 보라색 버튼 */
.btn-outline-purple { border-color: #6f42c1; color: #6f42c1; }
.btn-outline-purple:hover { background: #6f42c1; color: #fff; }

/* 모바일 반응형 */
@media (max-width: 768px) {
  body { overflow-x: hidden; }
  .container-fluid { padding-left: 10px; padding-right: 10px; }
  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .stat-number { font-size: 1.4rem; }
  .stat-card .card-body { padding: 0.5rem !important; }
  .citation-score { font-size: 2rem; }
  .input-group { flex-wrap: wrap; }
  .input-group .form-control { min-width: 0; }
  .input-group .btn { margin-top: 0.5rem; width: 100%; }
  form.d-flex { flex-direction: column; }
  form.d-flex .btn { width: 100%; }
  .d-flex.flex-wrap { flex-direction: column; }
  .d-flex.flex-wrap > div { width: 100%; }
  .d-flex.flex-wrap select.form-select { width: 100% !important; min-width: unset !important; }
  .navbar-brand { font-size: 0.9rem; }
  .card-body { word-break: break-word; }
  h2 { font-size: 1.3rem; }
}
