/* ============================================================
   BioResearch House — Newton's Apple Design System
   영감: 뉴턴의 사과 (발견의 순간, 자연의 정밀함, 온기 있는 학문)

   Token Map
   ───────────────────────────────────────────────
   --nt-forest   #1A3D2B   깊은 숲(헤더·강조)
   --nt-sage     #3D7A55   중간 초록(h3·링크)
   --nt-leaf     #7DB896   연초록(서브텍스트)
   --nt-apple    #B8303A   사과 빨강(발견·에너지)
   --nt-gold     #C9922A   황금빛(아이디어·하이라이트)
   --nt-bg       #FAF7F2   양피지(배경)
   --nt-surface  #F2ECE2   크림(카드)
   --nt-border   #DDD0BC   따뜻한 베이지(테두리)
   --nt-text     #2A2218   따뜻한 차콜(본문)
   --nt-muted    #6B5D4F   보조 텍스트
   ============================================================ */

:root {
  --nt-forest:  #1A3D2B;
  --nt-sage:    #3D7A55;
  --nt-leaf:    #7DB896;
  --nt-apple:   #B8303A;
  --nt-apple-l: #F9E8EA;
  --nt-gold:    #C9922A;
  --nt-gold-l:  #FAE8B0;
  --nt-bg:      #FAF7F2;
  --nt-surface: #F2ECE2;
  --nt-border:  #DDD0BC;
  --nt-text:    #2A2218;
  --nt-muted:   #6B5D4F;
}

/* ── 사이트 전체 ────────────────────────────────────────── */
body {
  background-color: var(--nt-bg) !important;
  color: var(--nt-text) !important;
}

a { color: var(--nt-sage); }
a:hover { color: var(--nt-apple); text-decoration: none; }

/* ── 헤더 ───────────────────────────────────────────────── */
.site-header {
  background-color: var(--nt-forest) !important;
  border-bottom: 3px solid var(--nt-gold) !important;
  padding: 16px 0;
}

.site-branding .site-title,
.site-branding .site-title a,
.site-title a:visited {
  color: var(--nt-bg) !important;
  font-family: Georgia, 'Times New Roman', 'Noto Serif KR', serif;
  font-size: 1.45em;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.site-description {
  color: var(--nt-leaf) !important;
  font-style: italic;
  font-size: 0.88em;
  letter-spacing: 0.02em;
}

/* ── 네비게이션 ─────────────────────────────────────────── */
.nav-primary {
  background-color: #122A1E !important;
  border-top: 1px solid rgba(255,255,255,0.07);
}

.main-navigation .menu-item > a {
  color: rgba(250,247,242,0.78) !important;
  font-size: 0.87em;
  letter-spacing: 0.05em;
  padding: 10px 16px !important;
  transition: color 0.18s;
}

.main-navigation .menu-item > a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a {
  color: var(--nt-gold) !important;
  background: transparent !important;
}

/* ── 포스트 목록 ────────────────────────────────────────── */
.entry-title {
  font-family: Georgia, 'Noto Serif KR', serif;
}

.entry-title a {
  color: var(--nt-forest) !important;
  text-decoration: none;
  font-weight: 700;
}

.entry-title a:hover { color: var(--nt-apple) !important; }

.entry-meta, .entry-meta a {
  color: var(--nt-muted);
  font-size: 0.83em;
}

/* 카테고리 배지 */
.cat-links a, .posted-in a {
  background: var(--nt-forest);
  color: var(--nt-bg);
  padding: 3px 11px;
  border-radius: 3px;
  font-size: 0.76em;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.04em;
  margin-right: 4px;
}

.cat-links a:hover { background: var(--nt-apple); color: #fff; }

/* 더보기 버튼 */
.button, a.read-more, .more-link {
  background: var(--nt-forest) !important;
  color: var(--nt-bg) !important;
  border-radius: 3px;
  padding: 7px 16px;
  font-size: 0.85em;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background 0.18s;
}

.button:hover, a.read-more:hover, .more-link:hover {
  background: var(--nt-apple) !important;
  color: #fff !important;
}

/* ── 사이드바 ───────────────────────────────────────────── */
.widget-title {
  color: var(--nt-forest);
  font-family: Georgia, serif;
  border-bottom: 2px solid var(--nt-gold);
  padding-bottom: 6px;
  margin-bottom: 12px;
}

.widget-area { border-left: 1px solid var(--nt-border); padding-left: 24px; }

/* ── 푸터 ───────────────────────────────────────────────── */
.site-footer {
  background-color: var(--nt-forest) !important;
  color: rgba(250,247,242,0.62) !important;
  border-top: 3px solid var(--nt-gold) !important;
}

.site-footer a { color: var(--nt-leaf) !important; }
.site-footer a:hover { color: var(--nt-gold) !important; }

/* ── 카테고리 아카이브 헤더 ─────────────────────────────── */
.page-header { padding-left: 16px; margin-bottom: 32px; }

.category-paper-summary    .page-header { border-left: 5px solid var(--nt-sage); }
.category-bio-trend        .page-header { border-left: 5px solid var(--nt-apple); }
.category-bio-idea         .page-header { border-left: 5px solid var(--nt-gold); }
.category-company-analysis .page-header { border-left: 5px solid var(--nt-forest); }

.archive-title, .page-title {
  color: var(--nt-forest);
  font-family: Georgia, serif;
}

/* ═══════════════════════════════════════════════════════════
   포스트 본문 — 공통 (.bio-post)
   ═══════════════════════════════════════════════════════════ */
.bio-post {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', sans-serif;
  color: var(--nt-text);
  line-height: 1.85;
  max-width: 800px;
}

.bio-post h2 {
  color: var(--nt-forest);
  font-family: Georgia, 'Noto Serif KR', serif;
  font-size: 1.32em;
  font-weight: 700;
  border: none;
  border-left: 4px solid var(--nt-gold);
  padding: 3px 0 3px 14px;
  margin-top: 2.4em;
  margin-bottom: 0.8em;
  letter-spacing: 0.01em;
}

.bio-post h3 {
  color: var(--nt-sage);
  font-size: 1.04em;
  font-weight: 700;
  margin-top: 1.7em;
  margin-bottom: 0.5em;
}

.bio-post h4 {
  color: var(--nt-muted);
  font-size: 0.93em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.bio-post p { margin: 0.85em 0; }

.bio-post strong { color: var(--nt-forest); }

.bio-post ul, .bio-post ol { margin: 0.8em 0 0.8em 1.2em; padding: 0; }
.bio-post ul li, .bio-post ol li { margin-bottom: 7px; }

/* 테이블 */
.bio-post table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  font-size: 0.88em;
  border: 1px solid var(--nt-border);
  border-radius: 4px;
  overflow: hidden;
}

.bio-post table th {
  background: var(--nt-forest);
  color: var(--nt-bg);
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  letter-spacing: 0.03em;
  font-size: 0.9em;
}

.bio-post table td {
  padding: 9px 14px;
  border-bottom: 1px solid var(--nt-border);
  color: var(--nt-text);
}

.bio-post table tr:last-child td { border-bottom: none; }
.bio-post table tr:nth-child(even) td { background: var(--nt-surface); }

/* 저작권 박스 */
.citation-box {
  background: var(--nt-surface);
  border: 1px solid var(--nt-border);
  border-radius: 4px;
  padding: 12px 18px;
  font-size: 0.82em;
  color: var(--nt-muted);
  margin-top: 40px;
  font-style: italic;
  line-height: 1.6;
}

/* ── 논문 요약 (paper-summary) ───────────────────────────── */
.paper-summary-post .paper-meta-box {
  background: var(--nt-surface);
  border-left: 4px solid var(--nt-sage);
  padding: 16px 20px;
  margin-bottom: 28px;
  font-size: 0.9em;
  color: var(--nt-muted);
  line-height: 1.8;
}

.paper-summary-post .paper-meta-box strong { color: var(--nt-forest); }

.paper-summary-post .key-finding-box {
  background: var(--nt-surface);
  border-left: 4px solid var(--nt-gold);
  padding: 18px 22px;
  margin: 28px 0;
}

.paper-summary-post .key-finding-box ul li {
  margin-bottom: 9px;
  color: var(--nt-text);
}

/* ── 바이오 트렌드 (bio-trend) ───────────────────────────── */
.bio-trend-post h2 { border-left-color: var(--nt-apple); }

.bio-trend-post .trend-stat {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 24px 0;
}

.bio-trend-post .trend-stat-item {
  flex: 1;
  min-width: 128px;
  background: var(--nt-surface);
  border: 1px solid var(--nt-border);
  border-top: 3px solid var(--nt-apple);
  border-radius: 4px;
  padding: 16px 12px;
  text-align: center;
}

.bio-trend-post .trend-stat-item .value {
  font-size: 1.75em;
  font-weight: 700;
  color: var(--nt-apple);
  display: block;
  font-family: Georgia, serif;
}

.bio-trend-post .trend-stat-item .label {
  font-size: 0.76em;
  color: var(--nt-muted);
  margin-top: 5px;
  display: block;
  line-height: 1.4;
}

.bio-trend-post .trend-highlight {
  background: var(--nt-apple-l);
  border-left: 4px solid var(--nt-apple);
  padding: 16px 20px;
  margin: 22px 0;
  font-size: 0.93em;
  color: var(--nt-text);
  line-height: 1.75;
}

.bio-trend-post ul li {
  margin-bottom: 10px;
  padding-left: 12px;
  border-left: 3px solid var(--nt-apple);
}

/* ── 바이오 아이디어 (bio-idea) ──────────────────────────── */
.bio-idea-post h2 { color: #6B4800; border-left-color: var(--nt-gold); }
.bio-idea-post h3 { color: #8A6200; }

.bio-idea-post .idea-card {
  background: var(--nt-gold-l);
  border: 1px solid #D4B870;
  border-radius: 4px;
  padding: 24px;
  margin: 22px 0;
}

.bio-idea-post .idea-card h3 { color: #6B4800; margin-top: 0; }

.bio-idea-post .hypothesis-box {
  background: var(--nt-surface);
  border-left: 4px solid var(--nt-gold);
  padding: 18px 22px;
  margin: 24px 0;
  font-style: italic;
  color: var(--nt-text);
  line-height: 1.85;
}

.bio-idea-post .idea-tag {
  display: inline-block;
  background: #E8D88A;
  color: #6B4800;
  border-radius: 3px;
  padding: 3px 10px;
  font-size: 0.79em;
  margin: 3px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── 바이오 기업 분석 (company-analysis) ─────────────────── */
.company-analysis-post .company-header {
  background: var(--nt-forest);
  color: var(--nt-bg);
  border-radius: 4px;
  padding: 24px 28px;
  margin-bottom: 28px;
  border-bottom: 3px solid var(--nt-gold);
}

.company-analysis-post .company-header h2 {
  color: var(--nt-bg) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  font-family: Georgia, serif;
  font-size: 1.45em;
}

.company-analysis-post .company-header .tagline {
  color: var(--nt-leaf);
  font-size: 0.87em;
}

.company-analysis-post .metric-grid {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 22px 0;
}

.company-analysis-post .metric-item {
  flex: 1;
  min-width: 118px;
  background: var(--nt-surface);
  border: 1px solid var(--nt-border);
  border-top: 3px solid var(--nt-gold);
  border-radius: 4px;
  padding: 16px 12px;
  text-align: center;
}

.company-analysis-post .metric-item .metric-value {
  font-size: 1.3em;
  font-weight: 700;
  color: var(--nt-forest);
  display: block;
  font-family: Georgia, serif;
}

.company-analysis-post .metric-item .metric-label {
  font-size: 0.74em;
  color: var(--nt-muted);
  margin-top: 5px;
  display: block;
  line-height: 1.4;
}

.company-analysis-post .phase-badge {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 3px;
  font-size: 0.76em;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.company-analysis-post .phase-1  { background: #FEE8C0; color: #7A4800; }
.company-analysis-post .phase-2  { background: #D8EAFC; color: #1A3A6C; }
.company-analysis-post .phase-3  { background: #D5EDD8; color: #1A4A2E; }
.company-analysis-post .approved { background: var(--nt-forest); color: var(--nt-bg); }
