/* =========================================================
   💜 신통방통 라이트 테마 — 통합 톤앤매너 시스템 (light-theme.css)
   -----------------------------------------------------------
   참고 이미지(모바일 카드 앱 스타일)의 "미니멀 화이트 + 은은한 라벤더
   포인트 + 얇은 테두리 카드 + 소프트 퍼플 액센트" 디자인 언어를
   신통방통만의 방식으로 재해석한 사이트 공용 라이트 테마입니다.

   ⚠️ 매우 중요한 스코프 규칙
   - 이 파일의 모든 규칙은 예외 없이 `body.lt-app` 아래에서만 동작하도록
     작성되어 있습니다. 이 클래스를 부여하지 않은 페이지(특히 tarot.html)는
     이 파일이 로드되어도 어떤 시각적 영향도 받지 않습니다.
   - 각 선택자는 `body.lt-app .클래스` 형태로 최소 2개의 클래스 명시도를
     갖도록 작성되어, 페이지 내 <style> 인라인 블록(예: mypage.html)의
     단일 클래스 규칙보다 항상 우선 적용됩니다(로드 순서와 무관하게 안전).
   - css/style.css, css/result-unified.css의 다크 테마 규칙은 그대로 두고,
     이 파일에서 "웃옷을 덧입히는" 방식으로만 덮어씁니다.
   ========================================================= */

body.lt-app{
  /* --- 컬러 토큰 --- */
  --lt-bg:#ffffff;
  --lt-bg-soft:#f5f4fb;      /* 섹션 구분용 은은한 라벤더 */
  --lt-bg-soft-2:#f3f1fa;
  --lt-card:#ffffff;
  --lt-border:#e9e5f6;       /* 얇은 라벤더/블루 톤 테두리 */
  --lt-border-soft:#efebfa;
  --lt-ink:#181425;          /* 진한 차콜/블랙 (제목) */
  --lt-ink-soft:#5c5770;     /* 중간 그레이 (본문) */
  --lt-ink-faint:#9b96b0;    /* 옅은 그레이 (캡션) */
  --lt-accent:#6c4fd6;       /* 메인 소프트 퍼플 액센트(단일) */
  --lt-accent-2:#8067e0;
  --lt-accent-soft:#efeafe;  /* 액센트의 옅은 배경톤 */
  --lt-accent-line:#d9cdf7;  /* 액센트 아웃라인용 */
  --lt-gold:#c99a3f;         /* 아주 드물게 쓰는 보조 골드 */
  --lt-gold-soft:#f7f0dd;
  --lt-pill:#f1f0f6;         /* 탭/배지 기본 회색 필 */
  --lt-success:#3f9d72;
  --lt-success-soft:#e7f5ee;
  --lt-danger:#d16b74;
  --lt-danger-soft:#fbebec;
  --lt-shadow-card:0 2px 14px rgba(30,20,70,0.05);
  --lt-shadow-pop:0 10px 30px rgba(30,20,70,0.10);

  /* -----------------------------------------------------
     ⚠️ 안전망: css/style.css의 다크 팔레트 변수를 이 스코프 안에서
     라이트 톤으로 재정의합니다. 각 페이지 인라인 <style> 블록이나
     인라인 style="color:var(--text-main)" 같은, 개별적으로
     오버라이드하지 못한 요소들도 CSS 변수 상속을 통해 자동으로
     라이트-온-라이트 대비 문제 없이 보이도록 하는 안전장치입니다.
     ----------------------------------------------------- */
  --bg-deep:#ffffff;
  --bg-navy:#ffffff;
  --bg-navy-2:var(--lt-bg-soft);
  --surface:var(--lt-card);
  --surface-2:var(--lt-bg-soft);
  --purple:var(--lt-accent);
  --purple-light:var(--lt-accent);
  --purple-deep:var(--lt-accent-2);
  --gold:var(--lt-accent);
  --gold-light:var(--lt-accent);
  --gold-deep:var(--lt-accent-2);
  --text-main:var(--lt-ink);
  --text-muted:var(--lt-ink-soft);
  --text-faint:var(--lt-ink-faint);
  --danger:var(--lt-danger);
  --success:var(--lt-success);
  --gradient-main:var(--lt-bg);
  --gradient-gold:var(--lt-accent);
  --gradient-purple:var(--lt-accent);
  --gradient-card:linear-gradient(155deg,#ffffff,#ffffff);
  --shadow-glow:var(--lt-shadow-card);
  --shadow-gold-glow:var(--lt-shadow-card);
  --shadow-card:var(--lt-shadow-card);

  background:var(--lt-bg) !important;
  color:var(--lt-ink);
  font-family:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
}
body.lt-app h1, body.lt-app h2, body.lt-app h3, body.lt-app h4{
  font-family:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
  color:var(--lt-ink);
  font-weight:700;
  letter-spacing:-0.01em;
}
body.lt-app p{ color:var(--lt-ink-soft); font-weight:400; }
body.lt-app a{ color:inherit; }
body.lt-app ::-webkit-scrollbar-thumb{ background:var(--lt-accent-line); }

/* 다크 테마 전용 배경 장식은 화이트 톤과 어울리지 않으므로 숨김 */
body.lt-app #star-canvas,
body.lt-app .orb-layer,
body.lt-app .online-badge,
body.lt-app .app-shell::before{
  display:none !important;
}

/* ---------------------------------------------------------
   레이아웃 · 헤더
   ---------------------------------------------------------*/
body.lt-app .app-header{
  background:linear-gradient(180deg,rgba(255,255,255,0.94),rgba(255,255,255,0.7));
}
body.lt-app .app-header .brand,
body.lt-app .app-header .brand i{ color:var(--lt-ink); }
body.lt-app .header-stats-pill{
  background:var(--lt-pill);border:1px solid var(--lt-border);
}
body.lt-app .header-stats-divider{ background:var(--lt-border); }
body.lt-app .header-icon-btn{
  background:var(--lt-pill);border:1px solid var(--lt-border);color:var(--lt-ink);
}
body.lt-app .page-title-bar{
  background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(255,255,255,0.75));
}
body.lt-app .page-title-bar .back-btn{
  background:var(--lt-pill);border:1px solid var(--lt-border);color:var(--lt-ink);
}
body.lt-app .page-title-bar h1{ color:var(--lt-ink); }
body.lt-app .page-title-bar p{ color:var(--lt-ink-faint); }

body.lt-app .section-title h2{ color:var(--lt-ink); }
body.lt-app .section-title h2 i{
  color:var(--lt-accent);background:var(--lt-accent-soft);
}
body.lt-app .section-title .more-link,
body.lt-app .more-link{ color:var(--lt-ink-faint); }

/* ---------------------------------------------------------
   카드 시스템 — 화이트 + 얇은 라벤더 테두리 + 옅은 그림자
   ---------------------------------------------------------*/
body.lt-app .glass-card,
body.lt-app .result-card,
body.lt-app .mini-card,
body.lt-app .list-card,
body.lt-app .destiny-match-card,
body.lt-app .destiny-promo-section,
body.lt-app .compat-hero-card,
body.lt-app .compat-friend-card,
body.lt-app .hot-wish-card,
body.lt-app .letter-envelope,
body.lt-app .lucky-box-reward-card,
body.lt-app .sharing-rec-card,
body.lt-app .rr-detail-card,
body.lt-app .rr-keypoint,
body.lt-app .rr-expert,
body.lt-app .rr-lucky-strip,
body.lt-app .rr-advice,
body.lt-app .rr-cta-card,
body.lt-app .cm-post-card,
body.lt-app .cm-write-card,
body.lt-app .mp-hero,
body.lt-app .mp-summary-item,
body.lt-app .mp-menu-item,
body.lt-app .mp-list-item,
body.lt-app .mp-mission-item,
body.lt-app .setting-row,
body.lt-app .su-why-box,
body.lt-app .pouch-balance-card,
body.lt-app .pouch-level-card,
body.lt-app .pouch-quick-summary,
body.lt-app .pouch-earn-card,
body.lt-app .pouch-menu-item,
body.lt-app .pouch-rank-row,
body.lt-app .cat-hub-link-card,
body.lt-app .cat-expand-section,
body.lt-app .pouch-expand-section,
body.lt-app .ad-slot,
body.lt-app .notice-bar,
body.lt-app .modal-box,
body.lt-app .upload-box,
body.lt-app .buff-item,
body.lt-app .badge-item{
  background:var(--lt-card);
  border:1px solid var(--lt-border);
  box-shadow:var(--lt-shadow-card);
  backdrop-filter:none;
}
body.lt-app .rr-lucky-strip{ background:var(--lt-bg-soft); }
body.lt-app .mp-mission-item.done{ border-color:var(--lt-accent-line); }
body.lt-app .badge-item.earned{
  background:var(--lt-accent-soft);border-color:var(--lt-accent-line);color:var(--lt-accent);
}
body.lt-app .badge-item .bi-icon{ opacity:0.55; }
body.lt-app .buff-item.owned{
  background:var(--lt-success-soft);border-color:var(--lt-success);color:var(--lt-success);
}

/* 카드 내부 텍스트 색 재정의(다크 테마 var(--text-*) 사용 요소 보정) */
body.lt-app .glass-card, body.lt-app .result-card, body.lt-app .mini-card,
body.lt-app .list-card, body.lt-app .destiny-match-card, body.lt-app .compat-friend-card,
body.lt-app .cm-post-card, body.lt-app .cm-write-card, body.lt-app .mp-hero,
body.lt-app .mp-summary-item, body.lt-app .mp-menu-item, body.lt-app .mp-list-item,
body.lt-app .mp-mission-item, body.lt-app .setting-row, body.lt-app .modal-box,
body.lt-app .pouch-balance-card, body.lt-app .pouch-level-card, body.lt-app .pouch-earn-card,
body.lt-app .pouch-menu-item, body.lt-app .cat-hub-link-card{
  color:var(--lt-ink);
}
body.lt-app h3, body.lt-app h4,
body.lt-app .result-card h3,
body.lt-app .mp-list-item .title,
body.lt-app .mp-summary-item b,
body.lt-app .setting-row .label,
body.lt-app .modal-box h3,
body.lt-app .cm-post-title{ color:var(--lt-ink); }
body.lt-app .result-card p,
body.lt-app .mp-list-item .desc,
body.lt-app .mp-summary-item span,
body.lt-app .cm-post-body,
body.lt-app .empty-state p{ color:var(--lt-ink-soft); }
body.lt-app .mp-list-item .top-row,
body.lt-app .cm-post-meta,
body.lt-app .pouch-balance-label,
body.lt-app .pqs-title,
body.lt-app small{ color:var(--lt-ink-faint); }

/* ---------------------------------------------------------
   버튼 3단계 체계
   1) Primary  .btn-gold  → 소프트 퍼플 배경 + 흰 글자
   2) Secondary .btn-outline / .btn-purple → 흰 배경 + 퍼플 아웃라인 + 퍼플 글자
   3) Text-link → 옅은 회색/퍼플 링크 (기존 .more-link 등으로 대체)
   ---------------------------------------------------------*/
body.lt-app .btn-gold{
  background:var(--lt-accent) !important;
  color:#fff !important;
  box-shadow:0 8px 18px -6px rgba(108,79,214,0.45) !important;
}
body.lt-app .btn-outline,
body.lt-app .btn-purple{
  background:#fff !important;
  color:var(--lt-accent) !important;
  border:1.5px solid var(--lt-accent-line) !important;
  box-shadow:none !important;
}
body.lt-app .btn-outline:active,
body.lt-app .btn-purple:active{ background:var(--lt-accent-soft) !important; }
body.lt-app .btn-ghost{
  background:var(--lt-pill);border:1px solid var(--lt-border);color:var(--lt-ink);
}
body.lt-app .today-skip-btn{ color:var(--lt-accent) !important; }

/* ---------------------------------------------------------
   배지 · 태그 — 옅은 회색/라벤더 필 배지
   ---------------------------------------------------------*/
body.lt-app .tag,
body.lt-app .destiny-chip,
body.lt-app .compat-tier-badge,
body.lt-app .rr-tier-badge,
body.lt-app .wish-review-badge,
body.lt-app .pouch-title-badge,
body.lt-app .grade-badge,
body.lt-app .mp-mission-period-badge,
body.lt-app .goal-match-badge,
body.lt-app .destiny-stat-chip,
body.lt-app .hm-badge,
body.lt-app .rr-hero-badge,
body.lt-app .rr-hero-keywords span,
body.lt-app .wish-zodiac-tag,
body.lt-app .cm-post-meta span,
body.lt-app .su-why-box .su-why-title{
  background:var(--lt-pill) !important;
  color:var(--lt-ink-soft) !important;
  border-color:var(--lt-border) !important;
}
body.lt-app .rr-tier-badge.rr-tier-deep,
body.lt-app .compat-tier-badge.tier-95,
body.lt-app .destiny-cheer-btn.done{
  background:var(--lt-accent-soft) !important;color:var(--lt-accent) !important;border-color:var(--lt-accent-line) !important;
}

/* ---------------------------------------------------------
   탭 · 토글 — 회색 필 배경 안, 선택 탭은 떠 있는 화이트 카드
   ---------------------------------------------------------*/
body.lt-app .tab-bar,
body.lt-app .cm-tab-bar,
body.lt-app .mp-tab-row,
body.lt-app .talisman-tab-bar,
body.lt-app .compat-axis-tabs,
body.lt-app #pouch-tabs,
body.lt-app #pouch-rank-period-bar{
  background:var(--lt-pill);
  border:1px solid var(--lt-border);
  border-radius:999px;
  padding:4px;
  gap:4px;
}
body.lt-app .tab-item,
body.lt-app .cm-tab-bar button,
body.lt-app .mp-tab-row button,
body.lt-app .compat-axis-tab{
  background:transparent !important;
  border:none !important;
  color:var(--lt-ink-faint) !important;
  box-shadow:none !important;
}
body.lt-app .tab-item.active,
body.lt-app .cm-tab-bar button.active,
body.lt-app .mp-tab-row button.active,
body.lt-app .compat-axis-tab.active{
  background:#fff !important;
  color:var(--lt-ink) !important;
  font-weight:700 !important;
  box-shadow:0 2px 8px rgba(30,20,70,0.10) !important;
}

/* ---------------------------------------------------------
   하단 탭바 — 화이트 배경, 진한 활성 / 옅은 비활성
   ---------------------------------------------------------*/
body.lt-app .bottom-nav{
  background:rgba(255,255,255,0.94);
  border-top:1px solid var(--lt-border);
  backdrop-filter:blur(14px);
}
body.lt-app .bottom-nav a{ color:var(--lt-ink-faint); }
body.lt-app .bottom-nav a.active{ color:var(--lt-ink); font-weight:700; }

/* ---------------------------------------------------------
   폼 요소
   ---------------------------------------------------------*/
body.lt-app .form-control,
body.lt-app .wish-title-input,
body.lt-app .wish-nickname-input{
  background:var(--lt-bg-soft) !important;
  border:1px solid var(--lt-border) !important;
  color:var(--lt-ink) !important;
}
body.lt-app .form-control:focus{ outline:none;border-color:var(--lt-accent) !important; }
body.lt-app .form-group label{ color:var(--lt-ink-soft); }
body.lt-app .radio-chip,
body.lt-app .goal-tag-chip,
body.lt-app .wish-cat-chip{
  background:var(--lt-pill) !important;border:1px solid var(--lt-border) !important;color:var(--lt-ink-soft) !important;
}
body.lt-app .radio-chip.active,
body.lt-app .goal-tag-chip.active,
body.lt-app .wish-cat-chip.active{
  background:var(--lt-accent) !important;color:#fff !important;border-color:transparent !important;box-shadow:none !important;
}
body.lt-app .upload-box{ color:var(--lt-ink-faint); }
body.lt-app .upload-box i{ color:var(--lt-accent); }

/* ---------------------------------------------------------
   카테고리 그리드
   ---------------------------------------------------------*/
body.lt-app .category-item .icon-wrap{
  background:var(--lt-bg-soft);border:1px solid var(--lt-border);color:var(--lt-accent);
}
body.lt-app .category-item:hover .icon-wrap{ background:var(--lt-accent-soft); }
body.lt-app .category-item span{ color:var(--lt-ink-soft); }
body.lt-app .cat-featured-item .icon-wrap{
  background:var(--lt-accent-soft);border:1px solid var(--lt-accent-line);color:var(--lt-accent);
}
body.lt-app .cat-hub-link-card i:first-child{ color:var(--lt-accent); }
body.lt-app .cat-hub-link-card i:last-child{ color:var(--lt-ink-faint); }
body.lt-app .cat-page-desc{ color:var(--lt-ink-faint); }
body.lt-app .cat-expand-summary,
body.lt-app .pouch-expand-summary{ color:var(--lt-ink-soft); }
body.lt-app .cat-expand-summary i,
body.lt-app .pouch-expand-summary i{ color:var(--lt-accent); }
body.lt-app details[open] .cat-expand-summary,
body.lt-app details[open] .pouch-expand-summary{ color:var(--lt-ink); }

/* ---------------------------------------------------------
   빈 상태 · 로딩
   ---------------------------------------------------------*/
body.lt-app .empty-state{ color:var(--lt-ink-faint); }
body.lt-app .empty-state i{ color:var(--lt-accent-line); }
body.lt-app .loading-spinner{ color:var(--lt-ink-soft); }
body.lt-app .spinner-ring{
  border:3px solid var(--lt-border);border-top-color:var(--lt-accent);
}
body.lt-app .mystic-loader .mystic-msg{ color:var(--lt-ink-soft); }
body.lt-app .mystic-circle .ring-1{ border-top-color:var(--lt-accent);border-right-color:var(--lt-accent-line); }
body.lt-app .mystic-circle .ring-2{ border-bottom-color:var(--lt-accent-2);border-left-color:var(--lt-accent-line); }
body.lt-app .mystic-circle .ring-3{ border-color:var(--lt-border); }
body.lt-app .mystic-circle .core-gem{ color:var(--lt-accent);filter:drop-shadow(0 0 8px rgba(108,79,214,0.35)); }
body.lt-app .orbit-star{ color:var(--lt-accent-2); }

/* ---------------------------------------------------------
   토스트 · 모달 · 공지
   ---------------------------------------------------------*/
body.lt-app .toast{
  background:var(--lt-ink);color:#fff;border:none;box-shadow:var(--lt-shadow-pop);
}
body.lt-app .modal-overlay{ background:rgba(20,16,40,0.35); }
body.lt-app .modal-box .close-btn{ color:var(--lt-ink-faint); }
body.lt-app .modal-box p{ color:var(--lt-ink-soft); }
body.lt-app .notice-bar{ background:var(--lt-accent-soft);border-color:var(--lt-accent-line);color:var(--lt-accent); }
body.lt-app .notice-bar i{ color:var(--lt-accent); }
body.lt-app .ad-slot{ border-color:var(--lt-border);background:var(--lt-bg-soft);color:var(--lt-ink-faint); }
body.lt-app .ad-slot .ad-label{ border-color:var(--lt-border);color:var(--lt-ink-faint); }

/* ---------------------------------------------------------
   destiny.html
   ---------------------------------------------------------*/
body.lt-app .destiny-promo-section{ background:var(--lt-bg-soft); box-shadow:none; }
body.lt-app .destiny-promo-glow{ display:none; }
body.lt-app .destiny-promo-badge{ color:var(--lt-accent);border-color:var(--lt-accent-line); }
body.lt-app .destiny-promo-desc{ color:var(--lt-ink-soft); }
body.lt-app .destiny-match-avatar,
body.lt-app .compat-hero-avatar,
body.lt-app .compat-friend-avatar{
  background:var(--lt-accent) !important;box-shadow:none !important;
}
body.lt-app .destiny-score-ring{ background:conic-gradient(var(--lt-accent) calc(var(--score,90)*1%), var(--lt-pill) 0); }
body.lt-app .destiny-score-ring::before{ background:#fff; }
body.lt-app .destiny-score-ring span{ color:var(--lt-accent); }
body.lt-app .destiny-cheer-btn{ background:var(--lt-pill);border-color:var(--lt-border);color:var(--lt-ink); }
body.lt-app .destiny-cheer-btn:hover{ background:var(--lt-accent-soft); }

/* ---------------------------------------------------------
   compatibility.html (궁합)
   ---------------------------------------------------------*/
body.lt-app .compat-hero-card{ background:var(--lt-bg-soft);box-shadow:none; }
body.lt-app .compat-hero-card::before{ display:none; }
body.lt-app .compat-hero-badge{ background:var(--lt-accent-soft);color:var(--lt-accent);border-color:var(--lt-accent-line); }
body.lt-app .compat-hero-name{ color:var(--lt-ink); }
body.lt-app .compat-hero-score{ color:var(--lt-accent);text-shadow:none; }
body.lt-app .compat-action-btn{ background:var(--lt-pill);border-color:var(--lt-border);color:var(--lt-ink); }
body.lt-app .compat-action-btn.gold{ background:var(--lt-accent) !important;color:#fff !important;box-shadow:none !important; }
body.lt-app .compat-action-btn.pink{ background:var(--lt-accent-soft) !important;color:var(--lt-accent) !important;border-color:var(--lt-accent-line) !important; }
body.lt-app .compat-friend-card::after{ display:none; }
body.lt-app .compat-friend-score{ background:conic-gradient(var(--lt-accent) calc(var(--score,90)*1%), var(--lt-pill) 0); }
body.lt-app .compat-friend-score::before{ background:#fff; }
body.lt-app .compat-friend-score span{ color:var(--lt-accent); }
body.lt-app .compat-mini-btn{ background:var(--lt-pill);border-color:var(--lt-border);color:var(--lt-ink); }
body.lt-app .compat-recommend-note{ background:var(--lt-accent-soft);border-color:var(--lt-accent-line);color:var(--lt-accent); }
body.lt-app .lucky-comment-preset{ background:var(--lt-pill);border-color:var(--lt-border);color:var(--lt-ink); }
body.lt-app .lucky-comment-preset:hover{ background:var(--lt-accent-soft);border-color:var(--lt-accent-line); }

/* ---------------------------------------------------------
   커뮤니티(community.html)
   ---------------------------------------------------------*/
body.lt-app .cm-write-card input,
body.lt-app .cm-write-card textarea{
  background:var(--lt-bg-soft) !important;border-color:var(--lt-border) !important;color:var(--lt-ink) !important;
}
body.lt-app .cm-write-note{ color:var(--lt-ink-faint); }
body.lt-app .cm-detail-overlay{ background:rgba(20,16,40,0.4); }
body.lt-app .cm-detail-box{ background:#fff;border:1px solid var(--lt-border); }
body.lt-app .cm-detail-close{ color:var(--lt-ink-faint); }
body.lt-app .cm-comment-item{ border-bottom:1px solid var(--lt-border); }
body.lt-app .cm-comment-meta{ color:var(--lt-ink-faint); }
body.lt-app .cm-comment-content{ color:var(--lt-ink); }
body.lt-app .cm-comment-write textarea{
  background:var(--lt-bg-soft);border-color:var(--lt-border);color:var(--lt-ink);
}

/* ---------------------------------------------------------
   마이페이지(mypage.html) — 인라인 <style> 규칙보다 항상 우선
   ---------------------------------------------------------*/
body.lt-app .mp-hero .avatar{ background:var(--lt-accent-soft);color:var(--lt-accent); }
body.lt-app .mp-hero h2{ color:var(--lt-ink); }
body.lt-app .mp-hero .mp-stats b{ color:var(--lt-accent); }
body.lt-app .mp-hero .mp-stats span{ color:var(--lt-ink-faint); }
body.lt-app .mp-menu-item i{ color:var(--lt-accent); }
body.lt-app .mp-menu-item:hover,
body.lt-app .mp-menu-item.active{ border-color:var(--lt-accent-line) !important;background:var(--lt-accent-soft) !important; }
body.lt-app .mp-menu-item.active i{ color:var(--lt-accent); }
body.lt-app .mp-menu-item span{ color:var(--lt-ink-soft); }
body.lt-app .mp-section-title{ color:var(--lt-ink); }
body.lt-app .mp-empty{ color:var(--lt-ink-faint); }
body.lt-app .mp-calendar .cell{ background:var(--lt-bg-soft);color:var(--lt-ink-faint); }
body.lt-app .mp-calendar .cell.checked{ background:var(--lt-accent);color:#fff; }
body.lt-app .mp-calendar .cell.dow{ background:none;color:var(--lt-ink-faint); }
body.lt-app .setting-row .label i{ color:var(--lt-accent); }
body.lt-app .switch .slider{ background:var(--lt-pill); }
body.lt-app .switch input:checked + .slider{ background:var(--lt-accent); }
body.lt-app .mp-mission-top .info .title{ color:var(--lt-ink); }
body.lt-app .mp-mission-top .info .desc{ color:var(--lt-ink-soft); }
body.lt-app .mp-mission-top .reward{ color:var(--lt-accent); }
body.lt-app .mp-mission-bar{ background:var(--lt-pill); }
body.lt-app .mp-mission-bar .fill{ background:var(--lt-accent); }
body.lt-app .mp-mission-count{ color:var(--lt-ink-faint); }

/* ---------------------------------------------------------
   복주머니(pouch.html) — 상단 잔액 큰 숫자 강조
   ---------------------------------------------------------*/
body.lt-app .pouch-balance-card{ background:var(--lt-accent-soft) !important;border-color:var(--lt-accent-line) !important; }
body.lt-app .pouch-balance-num{ color:var(--lt-ink);font-weight:800; }
body.lt-app .pouch-balance-emoji{ filter:none; }
body.lt-app .pouch-balance-stats b{ color:var(--lt-ink); }
body.lt-app .pouch-title-badge{ background:#fff !important;color:var(--lt-accent) !important;border-color:var(--lt-accent-line) !important; }
body.lt-app .pqs-chip{ background:var(--lt-pill);border-color:var(--lt-border);color:var(--lt-ink-soft); }
body.lt-app .pqs-chip.link{ background:var(--lt-accent-soft);border-color:var(--lt-accent-line);color:var(--lt-accent); }
body.lt-app .pqs-divider{ background:var(--lt-border); }
body.lt-app .pouch-menu-item i{ color:var(--lt-accent); }
body.lt-app .pouch-menu-item small{ color:var(--lt-ink-faint); }
body.lt-app .pouch-spend-grid .pouch-menu-item{
  background:var(--lt-accent-soft) !important;border-color:var(--lt-accent-line) !important;
}
body.lt-app .pouch-spend-grid .pouch-menu-item i{ color:var(--lt-accent); }
body.lt-app .pouch-section-desc,
body.lt-app .pouch-charge-hint,
body.lt-app .pouch-earn-footnote{ color:var(--lt-ink-faint); }
body.lt-app .pouch-earn-item{ background:var(--lt-bg-soft);border-color:var(--lt-border); }
body.lt-app .pouch-earn-item .pei-label{ color:var(--lt-ink-soft); }
body.lt-app .pouch-earn-item .pei-amt{ color:var(--lt-accent); }
body.lt-app .pouch-rank-section h4{ color:var(--lt-ink); }
body.lt-app .pouch-rank-row{ background:var(--lt-bg-soft);border-color:var(--lt-border); }
body.lt-app .pouch-rank-row .pr-no{ color:var(--lt-accent); }
body.lt-app .pouch-rank-row .pr-nick{ color:var(--lt-ink); }
body.lt-app .pouch-rank-row .pr-val{ color:var(--lt-success); }
body.lt-app .pouch-rank-empty{ color:var(--lt-ink-faint); }
body.lt-app .letter-envelope .le-from{ color:var(--lt-accent); }
body.lt-app .letter-envelope .le-msg{ color:var(--lt-ink); }
body.lt-app .letter-envelope.closed{ color:var(--lt-ink-faint); }
body.lt-app .letter-envelope.closed i{ color:var(--lt-accent); }
body.lt-app .lucky-box-stage{ background:var(--lt-bg-soft); }
body.lt-app .lucky-box-reward-card.lucky-box-grade-good{ background:var(--lt-bg-soft) !important; }
body.lt-app .lucky-box-reward-card.lucky-box-grade-great{ background:var(--lt-accent-soft) !important;box-shadow:none !important; }
body.lt-app .lucky-box-reward-card.lucky-box-grade-jackpot{
  background:var(--lt-accent-soft) !important;box-shadow:0 0 0 3px var(--lt-accent-line) !important;
}
body.lt-app .buff-fun-note{ color:var(--lt-ink-faint); }

/* --- 복주머니 페이지 상단 퀵 내비(획득/사용/내역 이동용 라벨 탭) --- */
body.lt-app .pouch-quicknav{
  display:flex;gap:4px;background:var(--lt-pill);border:1px solid var(--lt-border);
  border-radius:999px;padding:4px;margin-bottom:18px;
}
body.lt-app .pouch-quicknav a{
  flex:1;text-align:center;padding:9px 6px;border-radius:999px;
  font-size:0.8rem;font-weight:600;color:var(--lt-ink-faint);text-decoration:none;
}
body.lt-app .pouch-quicknav a.is-current{
  background:#fff;color:var(--lt-ink);box-shadow:0 2px 8px rgba(30,20,70,0.10);
}

/* ---------------------------------------------------------
   회원가입(signup.html)
   ---------------------------------------------------------*/
body.lt-app .su-simple-note{ color:var(--lt-ink-faint); }
body.lt-app .su-why-box{ background:var(--lt-accent-soft) !important;border-color:var(--lt-accent-line) !important; }
body.lt-app .su-why-box .su-why-title{ background:transparent !important;color:var(--lt-accent) !important;border:none !important; }
body.lt-app .su-why-box li{ color:var(--lt-ink-soft); }
body.lt-app .su-strength, body.lt-app .su-hint{ color:var(--lt-ink-faint); }
body.lt-app .su-pw-toggle{ color:var(--lt-ink-faint); }

/* ---------------------------------------------------------
   설정(settings.html) — auth-engine.js 로그인 모달 재사용 요소 포함
   ---------------------------------------------------------*/
body.lt-app #auth-status-card{ color:var(--lt-ink); }

/* ---------------------------------------------------------
   FAQ(faq.html) — 페이지 내 인라인 <style>의 다크 변수 기반 규칙
   (var(--gradient-card)/var(--text-main)/var(--text-muted))보다
   2클래스 명시도로 항상 우선하도록 재정의(라이트-온-라이트 대비 문제 해결)
   ---------------------------------------------------------*/
body.lt-app .faq-item{
  background:var(--lt-card);border:1px solid var(--lt-border);box-shadow:var(--lt-shadow-card);
}
body.lt-app .faq-q{ color:var(--lt-ink); }
body.lt-app .faq-q i{ color:var(--lt-accent) !important; }
body.lt-app .faq-a{ color:var(--lt-ink-soft); }

/* ---------------------------------------------------------
   기타 세부 컴포넌트 보정
   ---------------------------------------------------------*/
body.lt-app .today-input-divider{ color:var(--lt-ink-faint); }
body.lt-app .today-input-divider::before,
body.lt-app .today-input-divider::after{ background:var(--lt-border); }
body.lt-app .wish-hub-subtabs{ background:var(--lt-pill);border-color:var(--lt-border); }
body.lt-app .wish-hub-subtab{ color:var(--lt-ink-faint); }
body.lt-app .wish-hub-subtab.active{ background:#fff;color:var(--lt-ink);box-shadow:0 2px 8px rgba(30,20,70,0.10); }

/* =========================================================
   결과 리포트(rr-*, css/result-unified.css) 라이트 오버라이드
   → today/saju/compatibility/dream/name-analysis/lucky-number/
     zodiac/chinese-zodiac/face/palm 10개 결과 화면에만 적용됩니다.
   → tarot.html은 body.lt-app 클래스를 절대 부여하지 않으므로
     원래의 다크 rr-* 스타일이 그대로 유지됩니다.
   ========================================================= */
body.lt-app .rr-hero{
  background:var(--lt-accent-soft);
  border:1px solid var(--lt-accent-line);
  box-shadow:none;
}
body.lt-app .rr-hero::before{ display:none; }
body.lt-app .rr-hero-badge{
  color:var(--lt-accent);background:#fff;border-color:var(--lt-accent-line);
}
body.lt-app .rr-hero-title{ color:var(--lt-ink); }
body.lt-app .rr-hero-score .rr-score-ring{
  background:conic-gradient(var(--lt-accent) calc(var(--rr-score,80)*1%), var(--lt-pill) 0);
}
body.lt-app .rr-hero-score .rr-score-ring::before{ background:#fff; }
body.lt-app .rr-hero-score .rr-score-ring span{ color:var(--lt-ink); }
body.lt-app .rr-hero-score .rr-score-ring small{ color:var(--lt-ink-faint); }
body.lt-app .rr-hero-grade{ color:var(--lt-accent); }
body.lt-app .rr-hero-summary{ color:var(--lt-ink); }
body.lt-app .rr-hero-mood{ color:var(--lt-ink-soft); }
body.lt-app .rr-hero-keywords span{ background:#fff;color:var(--lt-ink-soft);border-color:var(--lt-border); }

body.lt-app .rr-section-label{ color:var(--lt-accent); }
body.lt-app .rr-keypoint .rr-kp-head{ color:var(--lt-ink); }
body.lt-app .rr-keypoint .rr-kp-head i{ color:var(--lt-accent); }
body.lt-app .rr-keypoint p{ color:var(--lt-ink-soft); }

body.lt-app .rr-detail-card .tag{ background:var(--lt-accent-soft);color:var(--lt-accent); }
body.lt-app .rr-detail-card h3{ color:var(--lt-ink); }
body.lt-app .rr-detail-card p{ color:var(--lt-ink-soft); }

body.lt-app .rr-lucky-item i{ color:var(--lt-accent); }
body.lt-app .rr-lucky-item .rr-lucky-label{ color:var(--lt-ink-faint); }
body.lt-app .rr-lucky-item .rr-lucky-value{ color:var(--lt-ink); }

body.lt-app .rr-advice{
  background:var(--lt-bg-soft);border-color:var(--lt-border);
}
body.lt-app .rr-advice i{ color:var(--lt-accent); }
body.lt-app .rr-advice p{ color:var(--lt-ink); }

body.lt-app .rr-cta-title{ color:var(--lt-ink-faint); }
body.lt-app .rr-cta-card{ color:var(--lt-ink-soft); }
body.lt-app .rr-cta-card i{ color:var(--lt-accent); }
body.lt-app .rr-cta-card.rr-cta-primary{
  border-color:var(--lt-accent-line);background:var(--lt-accent-soft);color:var(--lt-accent);
}

body.lt-app .rr-expert{ background:var(--lt-bg-soft);border-color:var(--lt-border); }
body.lt-app .rr-expert summary{ color:var(--lt-ink); }
body.lt-app .rr-expert summary .rr-expert-hint{ color:var(--lt-ink-faint); }
body.lt-app .rr-expert summary i.rr-chevron{ color:var(--lt-accent); }
body.lt-app .rr-expert-body .rr-detail-card{ border-color:var(--lt-border); }
body.lt-app .rr-expert-note{ color:var(--lt-ink-faint);border-top-color:var(--lt-border); }

body.lt-app .rr-tier-badge.rr-tier-free{ background:var(--lt-pill);color:var(--lt-ink-faint); }
body.lt-app .rr-loading-caption{ color:var(--lt-ink-soft); }

/* 결과 다음 행동 CTA(.result-next-cta, .result-cta-card) */
body.lt-app .result-next-cta-title{ color:var(--lt-ink-faint); }
body.lt-app .result-cta-card{
  background:var(--lt-bg-soft);border-color:var(--lt-border);color:var(--lt-ink-soft);
}
body.lt-app .result-cta-card i{ color:var(--lt-accent); }
body.lt-app .result-cta-card small{ color:var(--lt-ink-faint); }

/* =========================================================
   공용 콘텐츠 입장 인트로(.content-intro-*, js/intro-engine.js)
   → 모든 lt-app 페이지(오늘의 운세/사주/복주머니/소원/부적 등)에서
     다크 "신비로운 밤하늘" 톤 대신 화이트+라벤더 톤으로 표시됩니다.
   → tarot.html은 body.lt-app 클래스가 없으므로 원래의 다크 인트로가
     그대로 유지됩니다.
   ========================================================= */
body.lt-app .content-intro-overlay{
  background:var(--lt-bg);
}
body.lt-app .content-intro-bg{
  background:
    radial-gradient(circle at 50% 12%, rgba(108,79,214,0.10), transparent 50%),
    radial-gradient(circle at 18% 88%, rgba(108,79,214,0.08), transparent 55%),
    radial-gradient(circle at 85% 82%, rgba(201,154,63,0.06), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, var(--lt-bg-soft) 55%, #ffffff 100%);
}
body.lt-app .content-intro-mist{ opacity:0.5; }
body.lt-app .content-intro-stars i{ color:var(--lt-accent-line); }
body.lt-app .content-intro-particles span{
  background:var(--lt-accent-line) !important;
  box-shadow:0 0 8px rgba(108,79,214,0.25);
}
body.lt-app .content-intro-ring{ border-color:var(--lt-accent-line); }
body.lt-app .content-intro-ring::before{ border-color:var(--lt-border); }
body.lt-app .content-intro-ring::after{ border-color:var(--lt-accent-line); }
body.lt-app .content-intro-icon{
  color:var(--lt-accent);filter:none;
}
body.lt-app .content-intro-title{
  color:var(--lt-ink);text-shadow:none;
}
body.lt-app .content-intro-sub{ color:var(--lt-ink-soft); }
body.lt-app .content-intro-quote{ color:var(--lt-accent);opacity:1; }
body.lt-app .content-intro-skip{
  color:#3d3852 !important;
  opacity:1;
  font-size:0.82rem;
  font-weight:600;
  text-decoration-color:var(--lt-accent-line);
}
/* 콘텐츠별 테마 컬러도 단일 라벤더/퍼플 톤으로 통일 */
body.lt-app .content-intro-overlay.theme-wish,
body.lt-app .content-intro-overlay.theme-talisman,
body.lt-app .content-intro-overlay.theme-pouch{
  --intro-glow-1:rgba(108,79,214,0.10);--intro-glow-2:rgba(108,79,214,0.08);--intro-particle-color:var(--lt-accent-line);
}
body.lt-app .content-intro-overlay.theme-wish .content-intro-icon,
body.lt-app .content-intro-overlay.theme-wish .content-intro-title{ color:var(--lt-accent); }

/* =========================================================
   모바일 최적화 여백 보정
   ========================================================= */
@media (max-width:360px){
  body.lt-app .rr-hero{ padding:22px 16px 18px; }
}
