feat: 운영 일관성(OCI) 지표 도입 및 분석 UI/UX 정밀 복구

- analysis_service.py: 운영 일관성(OCI) 산출 로직 구현 및 장기 정체 패널티(100일 기준) 적용
- js/analysis.js: OCI 통합, 아코디언 심층 분석 텍스트 보강, SWOT 사분면 및 스크롤 로직 정밀 복구
- style/*.css: 유색 border-left/top 스타일 제거 및 흑백/그레이 계열로 디자인 정제
- templates/analysis.html: 분석 모델 명칭 원복 및 지표 정의 UI 업데이트
- ANALYSIS_REPORT.md: OCI 지표 정의 추가 및 가치 기여도(VCI) 등급 설명 정제 (야구 용어 삭제)
This commit is contained in:
2026-03-25 17:58:58 +09:00
parent dff3305da1
commit b864d615ea
11 changed files with 275 additions and 215 deletions

View File

@@ -49,17 +49,17 @@
.stat-value { font-size: 18px; font-weight: 700; color: #333; }
/* Status Border Colors */
.stat-item.total { border-top: 3px solid #1e5149; }
.stat-item.total { }
.stat-item.total .stat-value { color: #1e5149; }
.stat-item.complete { border-top: 3px solid #2e7d32; }
.stat-item.complete { }
.stat-item.complete .stat-value { color: #2e7d32; }
.stat-item.working { border-top: 3px solid #1565c0; }
.stat-item.working { }
.stat-item.working .stat-value { color: #1565c0; }
.stat-item.checking { border-top: 3px solid #ef6c00; }
.stat-item.checking { }
.stat-item.checking .stat-value { color: #ef6c00; }
.stat-item.pending { border-top: 3px solid #673ab7; }
.stat-item.pending { }
.stat-item.pending .stat-value { color: #673ab7; }
.stat-item.unconfirmed { border-top: 3px solid #9e9e9e; }
.stat-item.unconfirmed { }
.stat-item.unconfirmed .stat-value { color: #9e9e9e; }
/* 3. Filters & Notice */
@@ -185,7 +185,6 @@
.detail-container {
padding: 24px;
border-left: 6px solid #1e5149;
background: #f9fafb;
box-shadow: inset 0 4px 15px rgba(0,0,0,0.08);
position: relative;
@@ -223,7 +222,7 @@
.detail-label { font-weight: 700; color: #888; margin-right: 8px; }
.detail-q-section { background: #f8f9fa; padding: 20px; border-radius: 8px; }
.detail-a-section { background: #f1f8f7; padding: 20px; border-radius: 8px; border-left: 5px solid #1e5149; }
.detail-a-section { background: #f1f8f7; padding: 20px; border-radius: 8px; }
/* 6. Image Preview & Foldable Section */
.img-thumbnail { width: 32px; height: 32px; border-radius: 4px; object-fit: cover; border: 1px solid #ddd; cursor: pointer; transition: transform 0.2s; }