/* ==========================================================================
   theme-light.css — "화이트" 테마 오버레이 (ai-theme.css 뒤에 로드)
   목적: ai-theme.css의 다크 코스믹 스타일을 무력화하고 클린 화이트 + 인디고
   포인트의 밝고 단정한 톤으로 재정의한다. app.css/ai-theme.css는 수정하지
   않으며, body[data-theme="light"] 프리픽스로 동등/상위 특이도를 확보한다.
   ai-fx.js 파티클 캔버스는 숨김 처리(display:none)로 정리.
   ========================================================================== */

body[data-theme="light"] {
  --lt-bg: #F7F8FB;
  --lt-surface: #FFFFFF;
  --lt-surface-alt: #F1F3F9;
  --lt-border: #E2E5EE;
  --lt-ink: #1B2030;
  --lt-ink-soft: #4C5468;
  --lt-muted: #7A8296;
  --lt-indigo: #4F46E5;
  --lt-indigo-dark: #3730A3;
  --lt-indigo-light: #EEF0FF;
  --lt-gold: #C6952F;
  --lt-gold-light: #FBF3E1;
  --lt-shadow-sm: 0 1px 2px rgba(20, 24, 40, 0.05);
  --lt-shadow-md: 0 6px 20px rgba(20, 24, 40, 0.08);
  --lt-shadow-lg: 0 16px 36px rgba(20, 24, 40, 0.12);
}

/* ---------------- 배경 / 파티클 무력화 ---------------- */
body[data-theme="light"] { background: var(--lt-bg) !important; }
body[data-theme="light"]::before,
body[data-theme="light"]::after { content: none !important; display: none !important; }
body[data-theme="light"] #aiParticles { display: none !important; }

/* ---------------- 타이포그래피 ---------------- */
body[data-theme="light"] { color: var(--lt-ink) !important; }
body[data-theme="light"] h1,
body[data-theme="light"] h2,
body[data-theme="light"] h3,
body[data-theme="light"] h4 { color: var(--lt-ink) !important; }
body[data-theme="light"] .hero h1,
body[data-theme="light"] .page-hero h1 {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: #ffffff !important;
  animation: none !important;
}
body[data-theme="light"] .section-head h2::before {
  background: linear-gradient(180deg, var(--lt-indigo), #818CF8) !important;
  box-shadow: none !important;
}

/* ---------------- 헤더 ---------------- */
body[data-theme="light"] .site-header {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid var(--lt-border) !important;
  box-shadow: var(--lt-shadow-sm) !important;
}
body[data-theme="light"] .site-header::after { display: none !important; }
body[data-theme="light"] .logo-text { color: var(--lt-ink) !important; }
body[data-theme="light"] .logo-mark {
  background: linear-gradient(135deg, var(--lt-indigo), var(--lt-indigo-dark)) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body[data-theme="light"] .main-nav a { color: var(--lt-ink-soft) !important; font-weight: 600; }
body[data-theme="light"] .main-nav a::after {
  background: linear-gradient(90deg, var(--lt-indigo), #818CF8) !important;
  box-shadow: none !important;
}
body[data-theme="light"] .main-nav a:hover,
body[data-theme="light"] .main-nav a.is-active,
body[data-theme="light"] .main-nav a.active { color: var(--lt-indigo-dark) !important; background: var(--lt-indigo-light); }
body[data-theme="light"] .role-badge {
  background: var(--lt-indigo-light) !important; color: var(--lt-indigo-dark) !important;
  border: 1px solid var(--lt-border);
}
body[data-theme="light"] .role-switcher-btn {
  background: var(--lt-surface) !important; color: var(--lt-ink-soft) !important;
  border: 1px solid var(--lt-border) !important;
}
body[data-theme="light"] .role-switcher-btn:hover { border-color: var(--lt-indigo) !important; box-shadow: var(--lt-shadow-sm); }
body[data-theme="light"] .role-dropdown {
  background: var(--lt-surface) !important; border: 1px solid var(--lt-border) !important;
  box-shadow: var(--lt-shadow-lg) !important;
}
body[data-theme="light"] .role-dropdown li button { color: var(--lt-ink) !important; }
body[data-theme="light"] .role-dropdown li button:hover { background: var(--lt-surface-alt) !important; }

/* ---------------- 히어로 ---------------- */
body[data-theme="light"] .hero {
  background: linear-gradient(160deg, #EEF0FF 0%, #E4E8FB 55%, #DCE1FA 100%) !important;
  color: var(--lt-ink) !important;
  box-shadow: var(--lt-shadow-md) !important;
}
body[data-theme="light"] .hero p { color: var(--lt-ink-soft) !important; opacity: 1 !important; }
body[data-theme="light"] .hero-eyebrow {
  color: var(--lt-indigo-dark) !important;
  background: rgba(79,70,229,0.08) !important;
  border: 1px solid rgba(79,70,229,0.25) !important;
}
body[data-theme="light"] .hero-orb { opacity: 0.25 !important; }
body[data-theme="light"] .stat-badge {
  background: #ffffff !important; border: 1px solid var(--lt-border) !important; backdrop-filter: none;
}
body[data-theme="light"] .stat-num { color: var(--lt-indigo) !important; }
body[data-theme="light"] .stat-label { color: var(--lt-ink-soft) !important; }

/* ---------------- 콘텐츠 카드류 ---------------- */
body[data-theme="light"] .card,
body[data-theme="light"] .book-card,
body[data-theme="light"] .chapter-card,
body[data-theme="light"] .news-item,
body[data-theme="light"] .subject-card,
body[data-theme="light"] .pricing-card,
body[data-theme="light"] .detail-hero,
body[data-theme="light"] .sources-box,
body[data-theme="light"] .accordion,
body[data-theme="light"] .accordion-item,
body[data-theme="light"] .stat-badge,
body[data-theme="light"] .activity-card,
body[data-theme="light"] .subject-method-item {
  background: var(--lt-surface) !important;
  border: 1px solid var(--lt-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--lt-ink) !important;
  box-shadow: var(--lt-shadow-sm) !important;
}
body[data-theme="light"] .card *,
body[data-theme="light"] .book-card *,
body[data-theme="light"] .chapter-card *,
body[data-theme="light"] .news-item *,
body[data-theme="light"] .subject-card * { color: inherit; }
body[data-theme="light"] .book-card:hover,
body[data-theme="light"] .chapter-card:hover,
body[data-theme="light"] .card:hover,
body[data-theme="light"] .news-item.is-clickable:hover {
  border-color: var(--lt-indigo) !important;
  box-shadow: var(--lt-shadow-md) !important;
  transform: translateY(-4px);
}
body[data-theme="light"] .text-muted,
body[data-theme="light"] .muted,
body[data-theme="light"] .card-sub,
body[data-theme="light"] .news-date,
body[data-theme="light"] .footer-desc { color: var(--lt-muted) !important; }

/* ---------------- 대상별 바로가기 타일 ---------------- */
body[data-theme="light"] .quicklink-card {
  background: var(--lt-surface) !important;
  border: 1px solid var(--lt-border) !important;
  border-radius: 16px;
  color: var(--lt-ink) !important;
  box-shadow: var(--lt-shadow-sm) !important;
}
body[data-theme="light"] .quicklink-card::before { display: none !important; content: none !important; }
body[data-theme="light"] .quicklink-card:hover {
  border-color: var(--lt-indigo) !important;
  box-shadow: var(--lt-shadow-md) !important;
}
body[data-theme="light"] .qc-icon {
  background: var(--lt-indigo-light) !important;
  box-shadow: none !important;
  border: 1px solid var(--lt-border) !important;
}
body[data-theme="light"] .qc-thumb {
  box-shadow: none !important;
  border: 1px solid var(--lt-border) !important;
}

/* ---------------- 버튼 ---------------- */
body[data-theme="light"] .btn-primary,
body[data-theme="light"] .btn-solid {
  background: linear-gradient(120deg, var(--lt-indigo), var(--lt-indigo-dark)) !important;
  color: #fff !important;
  box-shadow: var(--lt-shadow-sm) !important;
}
body[data-theme="light"] .btn-primary:hover,
body[data-theme="light"] .btn-solid:hover {
  box-shadow: var(--lt-shadow-md) !important;
  transform: translateY(-2px) !important;
  filter: none !important;
}
body[data-theme="light"] .btn-outline {
  border: 1.5px solid var(--lt-indigo) !important;
  color: var(--lt-indigo-dark) !important;
  background: rgba(79,70,229,0.05) !important;
}
body[data-theme="light"] .btn-outline:hover { border-color: var(--lt-indigo-dark) !important; box-shadow: var(--lt-shadow-sm); background: rgba(79,70,229,0.1) !important; }
body[data-theme="light"] .btn-ghost {
  background: var(--lt-surface) !important; color: var(--lt-ink-soft) !important; border: 1px solid var(--lt-border) !important;
}
body[data-theme="light"] .modal .btn-outline,
body[data-theme="light"] .paper-card .btn-outline,
body[data-theme="light"] .lock-overlay .btn-outline,
body[data-theme="light"] .section-locked .btn-outline {
  color: var(--lt-ink) !important;
  border: 1.5px solid var(--lt-border) !important;
  background: transparent !important;
}

/* ---------------- 페이퍼 카드류(섹션블록/프롬프트박스 등) ---------------- */
body[data-theme="light"] .section-block,
body[data-theme="light"] .chapter-block,
body[data-theme="light"] .prompt-box,
body[data-theme="light"] .tip-box,
body[data-theme="light"] .mission-box,
body[data-theme="light"] .checklist-box,
body[data-theme="light"] .sources-box,
body[data-theme="light"] .activity-card,
body[data-theme="light"] .chapter-reader,
body[data-theme="light"] .modal {
  background: var(--lt-surface) !important;
  color: var(--lt-ink) !important;
  border: 1px solid var(--lt-border) !important;
  box-shadow: var(--lt-shadow-sm) !important;
}
body[data-theme="light"] .chapter-reader {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: var(--lt-ink) !important;
}
body[data-theme="light"] .chapter-reader-head { color: var(--lt-ink) !important; }
body[data-theme="light"] .chapter-reader-head h1 { color: var(--lt-ink) !important; }
body[data-theme="light"] .chapter-reader-head .chapter-intro { color: var(--lt-ink-soft) !important; }
body[data-theme="light"] .section-block-head h3 { color: var(--lt-ink) !important; }
body[data-theme="light"] .section-block-body p,
body[data-theme="light"] .section-block-body li { color: var(--lt-ink-soft) !important; }
body[data-theme="light"] .section-block *,
body[data-theme="light"] .chapter-block *,
body[data-theme="light"] .prompt-box *,
body[data-theme="light"] .tip-box *,
body[data-theme="light"] .mission-box *,
body[data-theme="light"] .checklist-box *,
body[data-theme="light"] .sources-box *,
body[data-theme="light"] .activity-card *,
body[data-theme="light"] .modal * { color: inherit; }
body[data-theme="light"] .section-block h1,
body[data-theme="light"] .section-block h2,
body[data-theme="light"] .section-block h3,
body[data-theme="light"] .section-block h4,
body[data-theme="light"] .chapter-block h1,
body[data-theme="light"] .chapter-block h2,
body[data-theme="light"] .chapter-block h3,
body[data-theme="light"] .chapter-block h4,
body[data-theme="light"] .mission-box h3,
body[data-theme="light"] .checklist-box h3,
body[data-theme="light"] .sources-box h3,
body[data-theme="light"] .modal h2 { color: var(--lt-ink) !important; }
body[data-theme="light"] .section-block p,
body[data-theme="light"] .chapter-block p,
body[data-theme="light"] .mission-box p,
body[data-theme="light"] .activity-card p,
body[data-theme="light"] .prompt-example p,
body[data-theme="light"] .modal-note,
body[data-theme="light"] .modal p { color: var(--lt-ink-soft) !important; }
body[data-theme="light"] .modal-note { color: var(--lt-muted) !important; }
body[data-theme="light"] .modal label,
body[data-theme="light"] .modal-form label { color: var(--lt-ink) !important; }
body[data-theme="light"] .modal input[type="text"],
body[data-theme="light"] .modal input[type="email"],
body[data-theme="light"] .modal select {
  background: var(--lt-surface-alt) !important;
  color: var(--lt-ink) !important;
  border: 1px solid var(--lt-border) !important;
}
body[data-theme="light"] .modal-close { background: var(--lt-surface-alt) !important; color: var(--lt-muted) !important; }
body[data-theme="light"] .modal-close:hover { background: var(--lt-border) !important; color: var(--lt-ink) !important; }
body[data-theme="light"] .modal-divider { border-top: 1px dashed var(--lt-border) !important; }
body[data-theme="light"] .modal .modal-tab { color: var(--lt-ink-soft) !important; background: var(--lt-surface-alt) !important; border-color: var(--lt-border) !important; }
body[data-theme="light"] .modal .modal-tab.active { background: var(--lt-indigo) !important; border-color: var(--lt-indigo) !important; color: #fff !important; }

body[data-theme="light"] .checklist-item label span { color: var(--lt-ink-soft) !important; }
body[data-theme="light"] .checklist-item input[type="checkbox"]:checked + span { color: var(--lt-muted) !important; }
body[data-theme="light"] .mission-deliverable { color: var(--lt-ink-soft) !important; background: var(--lt-surface-alt) !important; }
body[data-theme="light"] .prompt-code { color: var(--lt-ink) !important; background: var(--lt-surface-alt) !important; }
body[data-theme="light"] .tool-badge { color: #5B21B6 !important; background: #EDE9FE !important; }

body[data-theme="light"] .prompt-box { background: #12172A !important; }
body[data-theme="light"] .prompt-box .copy-prompt-btn {
  border-color: rgba(255,255,255,0.3) !important;
  color: #E7E9F3 !important;
  background: transparent !important;
}
body[data-theme="light"] .prompt-box .copy-prompt-btn:hover { border-color: var(--lt-gold) !important; color: var(--lt-gold) !important; }
body[data-theme="light"] .prompt-box .copy-prompt-btn.copied { border-color: #16a34a !important; color: #16a34a !important; }

/* ---------------- 잠금 오버레이 / 게이팅 ---------------- */
body[data-theme="light"] .section-locked .lock-preview { color: var(--lt-ink-soft) !important; }
body[data-theme="light"] .section-locked .lock-overlay,
body[data-theme="light"] .lock-overlay {
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, var(--lt-surface) 40%) !important;
}
body[data-theme="light"] .section-block.is-locked {
  background: var(--lt-surface-alt) !important;
  border: 1px dashed var(--lt-border) !important;
}
body[data-theme="light"] .section-block.is-locked .lock-overlay {
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, var(--lt-surface-alt) 40%) !important;
}
body[data-theme="light"] .lock-overlay .lock-icon { filter: none !important; }
body[data-theme="light"] .lock-overlay p { color: var(--lt-ink) !important; font-weight: 700; }
body[data-theme="light"] .lock-buy-note { color: var(--lt-muted) !important; }
body[data-theme="light"] .gate-box {
  background: var(--lt-surface) !important;
  border: 2px dashed var(--lt-border) !important;
}
body[data-theme="light"] .gate-box p { color: var(--lt-ink-soft) !important; }

/* ---------------- 소스/출처, 활동 카드 ---------------- */
body[data-theme="light"] .sources-box ol,
body[data-theme="light"] .sources-box li { color: var(--lt-ink-soft) !important; }

/* ---------------- 푸터 ---------------- */
body[data-theme="light"] .site-footer {
  background: #12172A !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: #C6CCDD !important;
}
body[data-theme="light"] .site-footer * { color: inherit; }
body[data-theme="light"] .footer-logo { color: #fff !important; }
body[data-theme="light"] .footer-heading { color: #fff !important; }
body[data-theme="light"] .footer-links a:hover,
body[data-theme="light"] .footer-sns a:hover { color: var(--lt-gold) !important; border-color: var(--lt-gold) !important; }

/* ---------------- 스크롤바 ---------------- */
body[data-theme="light"] ::-webkit-scrollbar-track { background: var(--lt-bg) !important; }
body[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--lt-indigo), #818CF8) !important;
  border: 3px solid var(--lt-bg) !important;
}

/* ---------------- 테마 스위처 / 언어 스위처 컨트롤 ---------------- */
body[data-theme="light"] .theme-switcher-btn,
body[data-theme="light"] .lang-switcher-btn {
  background: var(--lt-surface) !important;
  color: var(--lt-ink-soft) !important;
  border: 1px solid var(--lt-border) !important;
}
body[data-theme="light"] .theme-switcher-btn:hover,
body[data-theme="light"] .lang-switcher-btn:hover { border-color: var(--lt-indigo) !important; color: var(--lt-indigo) !important; }
body[data-theme="light"] .theme-dropdown,
body[data-theme="light"] .lang-dropdown {
  background: var(--lt-surface) !important;
  border: 1px solid var(--lt-border) !important;
  box-shadow: var(--lt-shadow-lg) !important;
}
body[data-theme="light"] .theme-dropdown li button,
body[data-theme="light"] .lang-dropdown li button { color: var(--lt-ink) !important; }
body[data-theme="light"] .theme-dropdown li button:hover,
body[data-theme="light"] .lang-dropdown li button:hover { background: var(--lt-surface-alt) !important; }
body[data-theme="light"] .theme-dropdown li button.is-active,
body[data-theme="light"] .lang-dropdown li button.is-active { background: var(--lt-indigo-light) !important; color: var(--lt-indigo-dark) !important; font-weight: 700; }
body[data-theme="light"] .lang-dropdown-note { color: var(--lt-muted) !important; }
