/* ============================================================
   redesign.css — Veil 회개앱 리디자인 (시안 1+3+2 조합)
   · Editorial Light 기본톤 (코발트 #1E3AFF 액센트)
   · App Home Bento 요약 카드
   · Immersive Dark 다크모드 토글
   기존 styles.css 뒤에 로드. 마크업/ID 변경 없이 오버라이드만.
   ============================================================ */


/* ── 1. Editorial Light: 액센트를 코발트로 리테마 ───────────── */
:root {
  /* 시스템 액센트 = 파랑 #1B33FF (마 27:51, 성전 휘장이 찢어짐 = Veil) */
  --gold:      #1B33FF;
  --gold-2:    #3350FF;
  --gold-soft: #E4E8FF;
  --cobalt:      #1B33FF;
  --cobalt-2:    #3350FF;
  --cobalt-deep: #1428CC;
  /* 브랜드 금색 = #CDA00A (욕 23:10, 단련 후 순금같이) — 핵심 CTA·로고 포인트 */
  --brand-gold:      #CDA00A;
  --brand-gold-deep: #A88208;
  --brand-gold-ink:  #1A1400;
  --font-editorial: 'Iowan Old Style','Palatino Linotype','AppleMyungjo','Batang',Georgia,serif;
  --font-kicker: -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
}

/* 부드러운 테마 전환 */
html { transition: background-color .4s var(--easing); }
body, .nav, .app-card, .btn, .chip, .repent, .response-block,
.journal-card, .veil-bento, .vb-card {
  transition: background-color .4s var(--easing), color .4s var(--easing),
              border-color .4s var(--easing), box-shadow .4s var(--easing);
}

/* ── D 배색: 핵심 CTA·로고 = 브랜드 금색(욕 23:10) ── */
.btn-gold { background: var(--brand-gold); border-color: var(--brand-gold); color: var(--brand-gold-ink); }
.btn-gold:hover { background: var(--brand-gold-deep); border-color: var(--brand-gold-deep); color: var(--brand-gold-ink);
  box-shadow: 0 10px 26px rgba(205,160,10,.30); }
.vb-qbtn { background: var(--brand-gold); color: var(--brand-gold-ink); }
.brand-mark, .footer-brand .brand-mark { color: var(--brand-gold); }

/* ── 세부기능: 응답 카드 = 말씀(금색·성물) ↔ 나의 응답(파랑) ── */
/* 말씀 = 금색: 하나님의 말씀은 정금보다 귀한 성물(시119:127) */
.response-word {
  background: linear-gradient(135deg, var(--white), #FBF3D9) !important;
  border-color: #EAD9A6 !important;
  border-left-color: var(--brand-gold) !important;
}
.response-word .block-label { color: var(--brand-gold-deep) !important; }
.response-word blockquote { font-family: var(--font-editorial); }
.response-word cite { color: var(--brand-gold-deep) !important; }

/* 묵상·기도·적용 = 파랑: 찢어진 휘장 너머, 주님 앞에 선 나의 응답 */
.response-meditation, .response-prayer, .response-apply {
  background: var(--white) !important;
  border-color: var(--line) !important;
  border-left-color: var(--cobalt) !important;
}
.response-apply { background: linear-gradient(135deg, var(--white), var(--gold-soft)) !important; }
.response-meditation .block-label,
.response-prayer .block-label,
.response-apply .block-label { color: var(--cobalt) !important; }

/* 로딩(말씀 검색): 금색 휘장 마크가 파란 빛 속에서 언베일 */
.ws-veil { color: var(--brand-gold) !important; filter: drop-shadow(0 6px 16px rgba(205,160,10,.35)) !important; }
.book-search.open .ws-veil { color: var(--brand-gold-deep) !important; }
.ws-glow { background: radial-gradient(circle, rgba(30,58,255,.30) 0%, rgba(30,58,255,.14) 36%, transparent 70%) !important; }
.ws-ref { color: var(--cobalt) !important; }

/* 상단 프라이버시 보장 라인 (중간 글씨) */
.veil-privacy-top {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-size: 1.02rem; font-weight: 500; color: var(--ink-3);
  margin: 12px 0 18px; line-height: 1.4; word-break: keep-all; text-align: center;
}
.veil-privacy-top svg { color: var(--brand-gold); flex-shrink: 0; }
:root[data-theme="dark"] .veil-privacy-top { color: var(--ink-2); }

/* eyebrow / 강조 em을 코발트로 */
.hc-eyebrow { color: var(--cobalt); }
.hc-disp em { color: var(--cobalt); font-style: normal; }

/* ── 2. App Home Bento 요약 카드 ─────────────────────────── */
.veil-bento { max-width: 620px; margin: 0 auto var(--s5); }
.vb-hello { font-size: .95rem; color: var(--ink-3); margin-bottom: 4px; }
.vb-hello span { color: var(--cobalt); font-weight: 600; }
.vb-title {
  font-family: var(--font-editorial); font-weight: 600;
  font-size: clamp(1.7rem, 4vw, 2.2rem); letter-spacing: -.02em;
  line-height: 1.1; margin-bottom: 6px; color: var(--ink);
}
.vb-axis {
  font-family: var(--font-kicker); font-weight: 800; font-size: .7rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--cobalt);
  margin-bottom: 18px;
}
.vb-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.vb-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 18px;
  box-shadow: var(--shadow-sm);
}
.vb-ct {
  font-family: var(--font-kicker); font-weight: 800;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 10px;
}
.vb-blue { background: var(--cobalt); border: 0; color: #fff;
  display: flex; flex-direction: column; align-items: flex-start; }
.vb-blue .vb-ct { color: #B9C4FF; }
.vb-ring {
  width: 66px; height: 66px; border-radius: 50%; margin: 2px 0 10px;
  display: flex; align-items: center; justify-content: center;
  background: conic-gradient(#fff var(--ring-pct,50%), rgba(255,255,255,.28) 0);
}
.vb-ring b {
  width: 52px; height: 52px; border-radius: 50%; background: var(--cobalt);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-editorial); font-weight: 900; font-size: 1.35rem; color: #fff;
}
.vb-streak-sub { font-size: .8rem; font-weight: 600; color: #DFE4FF; }
.vb-verse { grid-column: 1 / -1; }
.vb-verse-text {
  font-family: var(--font-editorial); font-weight: 500;
  font-size: 1.12rem; line-height: 1.5; letter-spacing: -.01em;
  color: var(--ink-2); word-break: keep-all;
}
.vb-vref {
  font-family: var(--font-kicker); font-weight: 800; font-size: .72rem;
  letter-spacing: .08em; color: var(--cobalt); margin-top: 10px;
}
.vb-quick {
  grid-column: 1 / -1; text-align: left; cursor: pointer;
  background: var(--ink); color: var(--bg);
  border: 0; border-radius: var(--r-lg); padding: 18px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.vb-quick:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.vb-qt { display: block; font-family: var(--font-editorial); font-weight: 600; font-size: 1.05rem; }
.vb-qs { display: block; font-size: .78rem; color: var(--muted); margin-top: 3px; }
.vb-qbtn {
  background: var(--brand-gold); color: var(--brand-gold-ink); border-radius: 12px;
  padding: 11px 15px; font-weight: 700; font-size: .82rem; white-space: nowrap; flex-shrink: 0;
}
@media (max-width: 420px) {
  .vb-title { font-size: 1.6rem; }
  .vb-verse-text { font-size: 1.02rem; }
}

/* ── 3. 다크모드 토글 버튼 ──────────────────────────────── */
.vb-theme {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid var(--line-2); background: transparent; color: var(--ink);
  cursor: pointer; flex-shrink: 0;
}
.vb-theme:hover { background: var(--bg-2); border-color: var(--ink-3); }
.vb-theme svg { width: 18px; height: 18px; }
.vb-theme .icon-moon { display: block; }
.vb-theme .icon-sun { display: none; }
:root[data-theme="dark"] .vb-theme .icon-moon { display: none; }
:root[data-theme="dark"] .vb-theme .icon-sun { display: block; }

/* ── 4. Immersive Dark 팔레트 ──────────────────────────── */
:root[data-theme="dark"] {
  --bg:        #0F0F16;
  --bg-2:      #15151C;
  --bg-3:      #1B1B26;
  --ink:       #F4F2EC;
  --ink-2:     #C9C6D6;
  --ink-3:     #9C99AC;
  --muted:     #8B88A0;
  --line:      #26262F;
  --line-2:    #33333F;
  --white:     #14141D;
  --gold:      #1E3AFF;
  --gold-2:    #6F86FF;
  --gold-soft: #1B2350;
  --cobalt:    #6F86FF;
  --cobalt-2:  #8A9CFF;
  --cobalt-deep: #1E3AFF;
  --nav-bg: rgba(15, 15, 22, .72);
  --nav-bg-scrolled: rgba(15, 15, 22, .9);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);
  --shadow-md: 0 8px 32px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);
}
:root[data-theme="dark"] body { background: var(--bg); color: var(--ink); }

/* 다크: 핵심 CTA = 브랜드 금색 유지 */
:root[data-theme="dark"] .btn-gold {
  background: var(--brand-gold); border-color: var(--brand-gold); color: var(--brand-gold-ink);
  box-shadow: 0 10px 34px rgba(205,160,10,.34);
}
:root[data-theme="dark"] .btn-gold:hover { background: #E0B01E; border-color: #E0B01E; }
:root[data-theme="dark"] .vb-qbtn { background: var(--brand-gold); color: var(--brand-gold-ink); }
:root[data-theme="dark"] .btn-primary { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* 다크: 벤토 블루카드/verse 대비 */
:root[data-theme="dark"] .vb-blue { background: #1B33FF; }
:root[data-theme="dark"] .vb-ring b { background: #1B33FF; }
:root[data-theme="dark"] .vb-verse-text {
  background: linear-gradient(180deg,#ffffff,#b9c2ff);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
/* 다크: 말씀=금색 / 묵상·기도·적용=파랑 */
:root[data-theme="dark"] .response-word {
  background: linear-gradient(135deg, var(--white), #2A2410) !important;
  border-color: #4A3F1A !important; border-left-color: var(--brand-gold) !important;
}
:root[data-theme="dark"] .response-word .block-label,
:root[data-theme="dark"] .response-word cite { color: #E7C24E !important; }
:root[data-theme="dark"] .response-meditation,
:root[data-theme="dark"] .response-prayer,
:root[data-theme="dark"] .response-apply {
  background: var(--white) !important; border-color: var(--line) !important; border-left-color: #6F86FF !important;
}
:root[data-theme="dark"] .response-meditation .block-label,
:root[data-theme="dark"] .response-prayer .block-label,
:root[data-theme="dark"] .response-apply .block-label { color: #6F86FF !important; }

/* 다크: 스트릭 위젯 톤 */
:root[data-theme="dark"] #veil-streak .vs-pill { background: #1B1B26 !important; border-color: #2C2C3A !important; color: #F4F2EC !important; }
