/* ==========================================================================
   theme-cute.css — "큐트" 테마 오버레이 (ai-theme.css 뒤에 로드)
   목적: 파스텔 크림/피치/민트 톤, 큰 둥근 모서리, 부드러운 그림자로
   ai-theme.css의 다크 코스믹 스타일을 무력화한다. app.css/ai-theme.css는
   수정하지 않음. body[data-theme="cute"] 프리픽스로 특이도 확보.
   ai-fx.js 파티클 캔버스는 숨김 처리.
   ========================================================================== */

body[data-theme="cute"] {
  --ct-bg: #FFF8F0;
  --ct-surface: #FFFDFA;
  --ct-surface-alt: #FFF1E6;
  --ct-cream: #FFF3E2;
  --ct-peach: #FFDCC7;
  --ct-peach-strong: #FFB199;
  --ct-mint: #CFF3E6;
  --ct-mint-strong: #7FD9BE;
  --ct-border: #FBDFCB;
  --ct-ink: #4A3B36;
  --ct-ink-soft: #8A7268;
  --ct-muted: #B39C90;
  --ct-accent: #FF8C69;
  --ct-accent-dark: #E56E4C;
  --ct-purple: #B79CED;
  --ct-shadow-sm: 0 4px 14px rgba(255, 140, 105, 0.12);
  --ct-shadow-md: 0 10px 28px rgba(255, 140, 105, 0.18);
  --ct-shadow-lg: 0 20px 46px rgba(255, 140, 105, 0.22);
  --ct-radius-lg: 28px;
  --ct-radius-md: 22px;
  --ct-radius-sm: 16px;
}

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

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

/* ---------------- 헤더 ---------------- */
body[data-theme="cute"] .site-header {
  background: rgba(255, 248, 240, 0.92) !important;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid var(--ct-border) !important;
  box-shadow: var(--ct-shadow-sm) !important;
}
body[data-theme="cute"] .site-header::after { display: none !important; }
body[data-theme="cute"] .logo-text { color: var(--ct-ink) !important; }
body[data-theme="cute"] .logo-mark {
  background: linear-gradient(135deg, var(--ct-accent), var(--ct-purple)) !important;
  color: #fff !important;
  box-shadow: none !important;
  border-radius: 18px !important;
}
body[data-theme="cute"] .main-nav a { color: var(--ct-ink-soft) !important; font-weight: 700; border-radius: 999px; }
body[data-theme="cute"] .main-nav a::after {
  background: linear-gradient(90deg, var(--ct-accent), var(--ct-purple)) !important;
  box-shadow: none !important;
}
body[data-theme="cute"] .main-nav a:hover,
body[data-theme="cute"] .main-nav a.is-active,
body[data-theme="cute"] .main-nav a.active { color: var(--ct-accent-dark) !important; background: var(--ct-peach); }
body[data-theme="cute"] .role-badge {
  background: var(--ct-mint) !important; color: #1F6E56 !important;
  border: 1px solid var(--ct-mint-strong);
  border-radius: 999px;
}
body[data-theme="cute"] .role-switcher-btn {
  background: var(--ct-surface) !important; color: var(--ct-ink-soft) !important;
  border: 1px solid var(--ct-border) !important;
  border-radius: 999px !important;
}
body[data-theme="cute"] .role-switcher-btn:hover { border-color: var(--ct-accent) !important; box-shadow: var(--ct-shadow-sm); }
body[data-theme="cute"] .role-dropdown {
  background: var(--ct-surface) !important; border: 1px solid var(--ct-border) !important;
  box-shadow: var(--ct-shadow-lg) !important;
  border-radius: var(--ct-radius-md) !important;
}
body[data-theme="cute"] .role-dropdown li button { color: var(--ct-ink) !important; border-radius: var(--ct-radius-sm); }
body[data-theme="cute"] .role-dropdown li button:hover { background: var(--ct-surface-alt) !important; }

/* ---------------- 히어로 ---------------- */
body[data-theme="cute"] .hero {
  background: linear-gradient(160deg, #FFD9C4 0%, #FFC7B0 45%, #D9C2F0 100%) !important;
  color: #4A2E22 !important;
  box-shadow: var(--ct-shadow-md) !important;
  border-radius: var(--ct-radius-lg) !important;
}
body[data-theme="cute"] .hero p { color: #6B4636 !important; opacity: 1 !important; }
body[data-theme="cute"] .hero-eyebrow {
  color: #A8481F !important;
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
  border-radius: 999px !important;
}
body[data-theme="cute"] .hero-orb { opacity: 0.35 !important; }
body[data-theme="cute"] .stat-badge {
  background: rgba(255,255,255,0.7) !important; border: 1px solid rgba(255,255,255,0.8) !important; backdrop-filter: none;
  border-radius: var(--ct-radius-sm) !important;
}
body[data-theme="cute"] .stat-num { color: var(--ct-accent-dark) !important; }
body[data-theme="cute"] .stat-label { color: #6B4636 !important; }

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

/* 도서 카드 표지 라운딩 강화 */
body[data-theme="cute"] .book-cover { border-radius: var(--ct-radius-sm) !important; }

body[data-theme="cute"] .text-muted,
body[data-theme="cute"] .muted,
body[data-theme="cute"] .card-sub,
body[data-theme="cute"] .news-date,
body[data-theme="cute"] .footer-desc { color: var(--ct-muted) !important; }

/* ---------------- 대상별 바로가기 타일 ---------------- */
body[data-theme="cute"] .quicklink-card {
  background: linear-gradient(160deg, var(--ct-cream), var(--ct-peach)) !important;
  border: 1px solid var(--ct-border) !important;
  border-radius: var(--ct-radius-lg) !important;
  color: var(--ct-ink) !important;
  box-shadow: var(--ct-shadow-sm) !important;
}
body[data-theme="cute"] .quicklink-card::before { display: none !important; content: none !important; }
body[data-theme="cute"] .quicklink-card:hover {
  border-color: var(--ct-accent) !important;
  box-shadow: var(--ct-shadow-md) !important;
  transform: translateY(-5px) scale(1.02);
}
body[data-theme="cute"] .qc-icon {
  background: radial-gradient(circle at 30% 30%, #ffffff, var(--ct-mint)) !important;
  box-shadow: none !important;
  border: 1px solid var(--ct-border) !important;
  border-radius: 50% !important;
}
body[data-theme="cute"] .qc-thumb {
  box-shadow: none !important;
  border: 1px solid var(--ct-border) !important;
  border-radius: 50% !important;
}

/* ---------------- 버튼 ---------------- */
body[data-theme="cute"] .btn { border-radius: 999px !important; }
body[data-theme="cute"] .btn-primary,
body[data-theme="cute"] .btn-solid {
  background: linear-gradient(120deg, var(--ct-accent), #FFA37D) !important;
  color: #fff !important;
  box-shadow: var(--ct-shadow-sm) !important;
  border: none !important;
}
body[data-theme="cute"] .btn-primary:hover,
body[data-theme="cute"] .btn-solid:hover {
  box-shadow: var(--ct-shadow-md) !important;
  transform: translateY(-3px) scale(1.02) !important;
  filter: none !important;
}
body[data-theme="cute"] .btn-outline {
  border: 1.5px solid var(--ct-accent) !important;
  color: var(--ct-accent-dark) !important;
  background: rgba(255,140,105,0.08) !important;
}
body[data-theme="cute"] .btn-outline:hover { border-color: var(--ct-accent-dark) !important; box-shadow: var(--ct-shadow-sm); background: rgba(255,140,105,0.15) !important; }
body[data-theme="cute"] .btn-ghost {
  background: var(--ct-surface) !important; color: var(--ct-ink-soft) !important; border: 1px solid var(--ct-border) !important;
}
body[data-theme="cute"] .modal .btn-outline,
body[data-theme="cute"] .paper-card .btn-outline,
body[data-theme="cute"] .lock-overlay .btn-outline,
body[data-theme="cute"] .section-locked .btn-outline {
  color: var(--ct-ink) !important;
  border: 1.5px solid var(--ct-border) !important;
  background: transparent !important;
}

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

body[data-theme="cute"] .checklist-item label span { color: var(--ct-ink-soft) !important; }
body[data-theme="cute"] .checklist-item input[type="checkbox"] { accent-color: var(--ct-accent) !important; }
body[data-theme="cute"] .checklist-item input[type="checkbox"]:checked + span { color: var(--ct-muted) !important; }
body[data-theme="cute"] .mission-deliverable { color: var(--ct-ink-soft) !important; background: var(--ct-surface-alt) !important; border-radius: var(--ct-radius-sm) !important; }
body[data-theme="cute"] .prompt-code { color: var(--ct-ink) !important; background: var(--ct-surface-alt) !important; }
body[data-theme="cute"] .tool-badge { color: #7C3AED !important; background: #F1E9FE !important; border-radius: 999px !important; }

body[data-theme="cute"] .prompt-box { background: #4A3B36 !important; border-radius: var(--ct-radius-md) !important; }
body[data-theme="cute"] .prompt-box .copy-prompt-btn {
  border-color: rgba(255,255,255,0.3) !important;
  color: #FFE4D6 !important;
  background: transparent !important;
  border-radius: 999px !important;
}
body[data-theme="cute"] .prompt-box .copy-prompt-btn:hover { border-color: var(--ct-peach-strong) !important; color: var(--ct-peach-strong) !important; }
body[data-theme="cute"] .prompt-box .copy-prompt-btn.copied { border-color: var(--ct-mint-strong) !important; color: var(--ct-mint-strong) !important; }

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

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

/* ---------------- 요금제 카드 강조 ---------------- */
body[data-theme="cute"] .pricing-card.featured {
  border: 2px solid var(--ct-accent) !important;
  box-shadow: var(--ct-shadow-md) !important;
}
body[data-theme="cute"] .pricing-card.featured::before {
  background: var(--ct-accent) !important;
  border-radius: 999px !important;
}
body[data-theme="cute"] .pricing-price { color: var(--ct-accent-dark) !important; }

/* ---------------- 푸터 ---------------- */
body[data-theme="cute"] .site-footer {
  background: linear-gradient(160deg, #4A3B36, #3A2E2A) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: #E9D9CD !important;
  border-radius: var(--ct-radius-lg) var(--ct-radius-lg) 0 0 !important;
}
body[data-theme="cute"] .site-footer * { color: inherit; }
body[data-theme="cute"] .footer-logo { color: #fff !important; }
body[data-theme="cute"] .footer-heading { color: #FFD9C4 !important; }
body[data-theme="cute"] .footer-links a:hover,
body[data-theme="cute"] .footer-sns a:hover { color: var(--ct-peach-strong) !important; border-color: var(--ct-peach-strong) !important; }
body[data-theme="cute"] .footer-sns a { border-radius: 999px !important; }

/* ---------------- 스크롤바 ---------------- */
body[data-theme="cute"] ::-webkit-scrollbar-track { background: var(--ct-bg) !important; }
body[data-theme="cute"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--ct-accent), var(--ct-purple)) !important;
  border: 3px solid var(--ct-bg) !important;
  border-radius: 999px !important;
}

/* ---------------- 테마 스위처 / 언어 스위처 컨트롤 ---------------- */
body[data-theme="cute"] .theme-switcher-btn,
body[data-theme="cute"] .lang-switcher-btn {
  background: var(--ct-surface) !important;
  color: var(--ct-ink-soft) !important;
  border: 1px solid var(--ct-border) !important;
  border-radius: 999px !important;
}
body[data-theme="cute"] .theme-switcher-btn:hover,
body[data-theme="cute"] .lang-switcher-btn:hover { border-color: var(--ct-accent) !important; color: var(--ct-accent-dark) !important; }
body[data-theme="cute"] .theme-dropdown,
body[data-theme="cute"] .lang-dropdown {
  background: var(--ct-surface) !important;
  border: 1px solid var(--ct-border) !important;
  box-shadow: var(--ct-shadow-lg) !important;
  border-radius: var(--ct-radius-md) !important;
}
body[data-theme="cute"] .theme-dropdown li button,
body[data-theme="cute"] .lang-dropdown li button { color: var(--ct-ink) !important; border-radius: var(--ct-radius-sm); }
body[data-theme="cute"] .theme-dropdown li button:hover,
body[data-theme="cute"] .lang-dropdown li button:hover { background: var(--ct-peach) !important; }
body[data-theme="cute"] .theme-dropdown li button.is-active,
body[data-theme="cute"] .lang-dropdown li button.is-active { background: var(--ct-mint) !important; color: #1F6E56 !important; font-weight: 700; }
body[data-theme="cute"] .lang-dropdown-note { color: var(--ct-muted) !important; }
