/* ============================================================
   블로그(상세) 다크 오버레이 — v2 사이트용
   blog.css 는 style.css(라이트)의 변수를 참조하므로,
   .v2 아래에서 그 변수들을 다크 값으로 재정의해 자동 다크화한다.
   + style.css 에만 있던 유틸(.container/.btn/.breadcrumb)을 다크로 보충.
   반드시 blog.css 다음에 로드할 것.
   ============================================================ */
.v2 {
  /* blog.css 가 쓰는 변수 중 v2.css 에 없는 것들 — 다크 값으로 */
  --ink: #f4f5f4;
  --bg-alt: #121316;
  --slate: #cfd6d2;
  --brand: #19c37d;
  --brand-d: #0f9d58;
  --brand-l: rgba(25, 195, 125, .14);
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, .45);
  --maxw: 1240px;
  --font: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
}

/* ---------- style.css 에만 있던 유틸 보충 ---------- */
.v2 .container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.v2 .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: inherit; font-size: .98rem; font-weight: 700; cursor: pointer;
  border: 1.5px solid transparent; border-radius: 999px; padding: 12px 24px; text-decoration: none;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.v2 .btn--ghost { background: transparent; color: var(--text); border-color: var(--line); }
.v2 .btn--ghost:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }
.v2 .breadcrumb { display: flex; gap: 8px; align-items: center; font-size: .85rem;
  color: var(--muted); margin-bottom: 16px; flex-wrap: wrap; }
.v2 .breadcrumb a { color: var(--muted); }
.v2 .breadcrumb a:hover { color: var(--text); }
.v2 .breadcrumb span { color: var(--accent); }

/* ---------- blog.css 하드코딩 색상 다크 교정 ---------- */
.v2 .postx__body { color: #d7ded9; }                    /* 원본 #223029(어두운 글자) */
.v2 .postx__body > p:first-child { color: var(--text); } /* BLUF 문단 */
.v2 .cmt__text { color: #c3ccc7; }                       /* 원본 #2c3a33 */
.v2 .cmt__input { background: var(--panel); color: var(--text); border-color: var(--line); }
.v2 .cmt__input::placeholder { color: var(--muted); }
.v2 .postx__avatar, .v2 .cmt__ava { color: #06120d; }    /* 밝은 원형 배경 위 글자 */
.v2 .logbox__label { color: #06120d; }

/* ---------- 카드/구획 배경 다크 ---------- */
.v2 .postx__cover { border-color: var(--line); }
.v2 .logbox { background: var(--panel); border-color: var(--line); }
.v2 .logbox__table th, .v2 .logbox__table td { border-color: var(--line); color: var(--text); }
.v2 .cmt { border-top-color: var(--line); }
.v2 .cmt__item { border-bottom-color: var(--line); }
.v2 .cmt__name { color: var(--text); }
.v2 .cmt__date { color: var(--muted); }
.v2 .postx__head { border-bottom-color: var(--line); }
.v2 .postx__foot { border-top-color: var(--line); }
.v2 .postx__navitem { background: var(--panel); border-color: var(--line); color: var(--text); }
.v2 .postx__navitem:hover { border-color: var(--accent); }
.v2 .postx__like, .v2 .postx__share { background: var(--panel); border-color: var(--line); color: var(--text); }
.v2 .postx__like:hover, .v2 .postx__share:hover, .v2 .postx__like.on { border-color: var(--accent); color: var(--accent); }
.v2 .postx__disclaimer { color: var(--muted); border-top-color: var(--line); }
.v2 .postx__body blockquote { border-left-color: var(--accent); color: var(--muted); }
.v2 .postx__body code, .v2 .postx__body pre { background: var(--panel); color: var(--text); }
.v2 .postx__body a { color: var(--accent); }
.v2 .postx__body hr { border-color: var(--line); }
.v2 .postx__body table { border-color: var(--line); }
.v2 .postx__body th, .v2 .postx__body td { border-color: var(--line); }

/* 본문 이미지 — 다크 배경에서 뜨지 않게 */
.v2 .postx__body img, .v2 .postx__body figure img { border-radius: 12px; background: var(--panel); }
.v2 .postx__body figcaption { color: var(--muted); font-size: .88rem; text-align: center; margin-top: 8px; }
