/* ============================================
   深色模式 v3.x — 精确匹配当前页面类名
   ============================================ */
body.dark-mode {
  --bg-primary: #1a1a2e;
  --bg-secondary: #16213e;
  --bg-card: #1e1e36;
  --bg-card-hover: #2a2a44;
  --text-primary: #e8e8f0;
  --text-secondary: #b0b0c0;
  --text-tertiary: #9090A0;
  --border-color: #2a2a44;
}

/* ===== 页面背景 ===== */
body.dark-mode,
body.dark-mode .page,
body.dark-mode .page-home,
body.dark-mode .page-dialog,
body.dark-mode .page-drawing,
body.dark-mode .page-story,
body.dark-mode .page-challenge,
body.dark-mode .page-gallery,
body.dark-mode .page-profile-v31,
body.dark-mode .page-dashboard,
body.dark-mode .page-achievement,
body.dark-mode .page-invite,
body.dark-mode .page-login,
body.dark-mode .page-bind-phone,
body.dark-mode .page-subscribe,
body.dark-mode .page-create-profile,
body.dark-mode .page-report,
body.dark-mode .page-diary,
body.dark-mode .page-co-creation,
body.dark-mode .page-doodle,
body.dark-mode .page-settings,
body.dark-mode .page-reset-password {
  background: var(--bg-primary) !important;
  color: var(--text-primary);
}

/* ===== 首页 v34/v36 ===== */
body.dark-mode .home-v31-container { background: var(--bg-primary); }
body.dark-mode .home-v31-hero { background: var(--bg-card); }
body.dark-mode .v34-hero-greeting { color: var(--text-primary); }
body.dark-mode .v34-hero-streak { color: var(--text-secondary); }
body.dark-mode .v34-hero-tap-hint { color: var(--text-tertiary); }
body.dark-mode .v36-stats-card { background: var(--bg-card); }
body.dark-mode .v36-stats-num { color: var(--text-primary); }
body.dark-mode .v36-stats-label { color: var(--text-secondary); }
body.dark-mode .v36-coach-card { background: var(--bg-card); }
body.dark-mode .v36-coach-title { color: var(--text-primary); }
body.dark-mode .v36-coach-text { color: var(--text-secondary); }
body.dark-mode .v36-coach-hint { color: var(--text-tertiary); }
body.dark-mode .v36-challenge-clay { background: var(--bg-card); }
body.dark-mode .v36-challenge-name { color: var(--text-primary); }
body.dark-mode .v36-challenge-desc { color: var(--text-secondary); }
body.dark-mode .v36-challenge-section-title { color: var(--text-primary); }
body.dark-mode .v36-challenge-tag { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .v36-challenge-go { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .v36-coc-entry { background: var(--bg-card); }
body.dark-mode .v36-coc-title { color: var(--text-primary); }
body.dark-mode .v36-coc-desc { color: var(--text-secondary); }
body.dark-mode .v36-coc-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .v34-artworks-entrance { background: var(--bg-card); }
body.dark-mode .v34-artworks-header { color: var(--text-primary); }
body.dark-mode .v34-artworks-label { color: var(--text-secondary); }
body.dark-mode .v34-artwork-item { background: var(--bg-card); }
body.dark-mode .v34-artwork-title { color: var(--text-primary); }
body.dark-mode .v34-artworks-empty { background: var(--bg-card); }
body.dark-mode .v34-artworks-empty-text { color: var(--text-secondary); }
body.dark-mode .v34-artworks-empty-hint { color: var(--text-tertiary); }
body.dark-mode .v31-quota-card { background: var(--bg-card); }
body.dark-mode .v31-quota-label { color: var(--text-secondary); }
body.dark-mode .v31-quota-count { color: var(--text-primary); }
body.dark-mode .v31-quota-tap-hint { color: var(--text-tertiary); }
body.dark-mode .v31-time-card--clay { background: var(--bg-card); }
body.dark-mode .v31-time-value--clay { color: var(--text-primary); }
body.dark-mode .v31-time-label--clay { color: var(--text-secondary); }
body.dark-mode .v31-time-info--clay { color: var(--text-tertiary); }
body.dark-mode .v31-time-lock-card--clay { background: var(--bg-card); }
body.dark-mode .v31-time-lock-title--clay { color: var(--text-primary); }
body.dark-mode .v31-time-lock-sub--clay { color: var(--text-secondary); }
body.dark-mode .v31-trial-cta--clay { background: var(--bg-card); }
body.dark-mode .v31-trial-text--clay { color: var(--text-secondary); }

/* ===== 伙伴页 dlg-clay-* / dialog-* ===== */
body.dark-mode .dlg-clay-bar { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .dlg-clay-avatar { background: var(--bg-card-hover); }
body.dark-mode .dlg-clay-name { color: var(--text-primary); }
body.dark-mode .dlg-clay-status { color: var(--text-tertiary); }
body.dark-mode .dlg-clay-input-bar { background: var(--bg-card); border-top-color: var(--border-color); }
body.dark-mode .dlg-clay-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .dlg-clay-send { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dialog-container { background: var(--bg-primary); }
body.dark-mode .dialog-header { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .dialog-messages { background: var(--bg-primary); }
body.dark-mode .dialog-msg-bubble { background: var(--bg-card); color: var(--text-primary); }
body.dark-mode .dialog-msg--ai .dialog-msg-bubble { background: var(--bg-card-hover); }
body.dark-mode .dialog-msg--user .dialog-msg-bubble { background: #3a3a5a; }
body.dark-mode .dialog-msg-content { color: var(--text-primary); }
body.dark-mode .dialog-clear-btn { color: var(--text-secondary); }
body.dark-mode .partner-qcc-wrap { background: var(--bg-primary); }
body.dark-mode .partner-qcc-card { background: var(--bg-card); }
body.dark-mode .partner-qcc-label { color: var(--text-secondary); }
body.dark-mode .partner-quick-cards { background: var(--bg-primary); }

/* ===== 创作页 drawing-* ===== */
body.dark-mode .drawing-container { background: var(--bg-primary); }
body.dark-mode .drawing-header { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .drawing-body { background: var(--bg-primary); }
body.dark-mode .drawing-options { background: var(--bg-card); }
body.dark-mode .prompt-chip { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .drawing-back { color: var(--text-primary); }
body.dark-mode .drawing-title { color: var(--text-primary); }

/* ===== 故事页 story-* ===== */
body.dark-mode .story-theme { background: var(--bg-card); color: var(--text-primary); }
body.dark-mode .story-theme.active { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .story-item { background: var(--bg-card); }
body.dark-mode .story-info { color: var(--text-primary); }
body.dark-mode .story-meta { color: var(--text-secondary); }
body.dark-mode .story-status { color: var(--text-tertiary); }
body.dark-mode .story-mode { background: var(--bg-card); }

/* ===== 作品页 gallery-* ===== */
body.dark-mode .gallery-item { background: var(--bg-card); }
body.dark-mode .gallery-item-title { color: var(--text-primary); }
body.dark-mode .gallery-item-date { color: var(--text-tertiary); }

/* ===== 挑战页 challenge-* ===== */
body.dark-mode .challenge-card { background: var(--bg-card); }
body.dark-mode .challenge-badge { color: var(--text-secondary); }
body.dark-mode .challenge-prompt-card { background: var(--bg-card); }
body.dark-mode .challenge-prompt-title { color: var(--text-primary); }
body.dark-mode .challenge-prompt-name { color: var(--text-secondary); }
body.dark-mode .challenge-grid { background: var(--bg-primary); }

/* ===== 个人中心 profile-v31 ===== */
body.dark-mode .pfl-clay-menu-list { background: var(--bg-card); }
body.dark-mode .pfl-clay-menu-item { border-bottom-color: var(--border-color); }
body.dark-mode .pfl-clay-menu-label { color: var(--text-primary); }
body.dark-mode .pfl-clay-menu-value { color: var(--text-tertiary); }
body.dark-mode .pfl-clay-user-card { background: var(--bg-card); }
body.dark-mode .pfl-clay-user-name { color: var(--text-primary); }
body.dark-mode .pfl-clay-user-meta { color: var(--text-tertiary); }
body.dark-mode .pfl-clay-add-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .pfl-clay-avatar { background: var(--bg-card-hover); }
body.dark-mode .pfl-profile-chip { background: var(--bg-card); }
body.dark-mode .pfl-profile-chip.active { border-color: #667eea; }
body.dark-mode .pfl-profile-chip-name { color: var(--text-primary); }
body.dark-mode .profile-membership-card { background: #2a2a30; }
body.dark-mode .profile-membership-title { color: #ffd700; }
body.dark-mode .profile-membership-desc { color: #b8860b; }
body.dark-mode .profile-logout-btn { background: var(--bg-card); color: #ff6b6b; }
body.dark-mode .profile-mode-tab { background: var(--bg-card); }
body.dark-mode .profile-mode-tab--active { border-color: #667eea; }
body.dark-mode .profile-mode-tab-label { color: var(--text-secondary); }
body.dark-mode .profile-mode-tab--active .profile-mode-tab-label { color: #667eea; }
body.dark-mode .section-title { color: var(--text-secondary); }
body.dark-mode .v31-menu-item { border-bottom-color: var(--border-color); }
body.dark-mode .phone-bind-inline { background: var(--bg-card-hover); border-top-color: var(--border-color); }
body.dark-mode .phone-bind-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }

/* ===== 成就页 achievement-* ===== */
body.dark-mode .achievement-container { background: var(--bg-primary); }
body.dark-mode .achievement-header { background: var(--bg-card); }
body.dark-mode .achievement-title { color: var(--text-primary); }
body.dark-mode .achievement-back { color: var(--text-primary); }
body.dark-mode .achievement-card { background: var(--bg-card); }
body.dark-mode .achievement-name { color: var(--text-primary); }
body.dark-mode .achievement-desc { color: var(--text-tertiary); }
body.dark-mode .achievement-summary .summary-item { background: var(--bg-card); }
body.dark-mode .achievement-summary .summary-num { color: var(--text-primary); }
body.dark-mode .achievement-summary .summary-label { color: var(--text-tertiary); }

/* ===== 邀请页 inv-* ===== */
body.dark-mode .inv-container { background: var(--bg-primary); }
body.dark-mode .inv-header { background: var(--bg-card); }
body.dark-mode .inv-title { color: var(--text-primary); }
body.dark-mode .inv-back { color: var(--text-primary); }
body.dark-mode .inv-clay-hero { background: var(--bg-card); }
body.dark-mode .inv-clay-hero-title { color: var(--text-primary); }
body.dark-mode .inv-clay-hero-desc { color: var(--text-secondary); }
body.dark-mode .inv-clay-stats-card { background: var(--bg-card); }
body.dark-mode .inv-clay-stat-val { color: var(--text-primary); }
body.dark-mode .inv-clay-stat-lbl { color: var(--text-tertiary); }
body.dark-mode .inv-clay-code-card { background: var(--bg-card); }
body.dark-mode .inv-clay-code-label { color: var(--text-secondary); }
body.dark-mode .inv-clay-code-value { color: var(--text-primary); background: var(--bg-card-hover); }
body.dark-mode .inv-clay-share-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .inv-clay-copy-link-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .inv-clay-record { border-bottom-color: var(--border-color); }
body.dark-mode .inv-clay-record-name { color: var(--text-primary); }
body.dark-mode .inv-clay-records-title { color: var(--text-primary); }

/* ===== 仪表盘 dash-* ===== */
body.dark-mode .dash-card { background: var(--bg-card); }
body.dark-mode .dash-card-header { border-bottom-color: var(--border-color); }
body.dark-mode .dash-card-title { color: var(--text-primary); }
body.dark-mode .dash-card-link { color: #667eea; }
body.dark-mode .dash-header { background: var(--bg-card); }
body.dark-mode .dash-header-title { color: var(--text-primary); }
body.dark-mode .dash-header-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-hero { background: var(--bg-card); }
body.dark-mode .dash-hero-title { color: var(--text-primary); }
body.dark-mode .dash-hero-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-hero-icon { color: var(--text-primary); }
body.dark-mode .dash-insight-text { color: var(--text-secondary); }
body.dark-mode .dash-insight-footer { color: var(--text-tertiary); }
body.dark-mode .dash-trend-btn { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dash-trend-btn.active { background: #667eea; color: #fff; }
body.dark-mode .dash-trend-label { color: var(--text-secondary); }
body.dark-mode .dash-trend-score { color: var(--text-primary); }
body.dark-mode .dash-trend-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-dim-btn { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dash-dim-btn.active { background: #667eea; color: #fff; }
body.dark-mode .dash-detail-label { color: var(--text-secondary); }
body.dark-mode .dash-detail-score { color: var(--text-primary); }
body.dark-mode .dash-detail-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-empty-chart-text { color: var(--text-tertiary); }
body.dark-mode .dash-empty-chart-icon { color: var(--text-tertiary); }
body.dark-mode .dash-empty-title { color: var(--text-primary); }
body.dark-mode .dash-empty-desc { color: var(--text-tertiary); }
body.dark-mode .dash-error-title { color: var(--text-primary); }
body.dark-mode .dash-error-desc { color: var(--text-tertiary); }
body.dark-mode .dash-loading-text { color: var(--text-tertiary); }
body.dark-mode .dash-back-child-btn { background: var(--bg-card); color: #667eea; }
body.dark-mode .dash-tier-badge { color: var(--text-primary); }
body.dark-mode .dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-pro { background: #3a3a5a; }
body.dark-mode .dash-lock-badge { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dash-unlock-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-locked-overlay { background: rgba(26, 26, 46, 0.9); }
body.dark-mode .dash-radar-container { background: var(--bg-card); }
body.dark-mode .dash-radar-legend { color: var(--text-secondary); }
body.dark-mode .dash-radar-legend-line { color: var(--text-tertiary); }
body.dark-mode .dash-radar-name { color: var(--text-primary); }
body.dark-mode .dash-radar-score { color: var(--text-primary); }
body.dark-mode .dash-radar-delta { color: var(--text-secondary); }
body.dark-mode .dash-artwork-item { background: var(--bg-card); }
body.dark-mode .dash-artwork-title { color: var(--text-secondary); }
body.dark-mode .dash-artwork-img { background: var(--bg-card-hover); }
body.dark-mode .dash-suggestion-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-suggestion-title { color: var(--text-primary); }
body.dark-mode .dash-suggestion-desc { color: var(--text-tertiary); }
body.dark-mode .dash-suggestion-category { color: var(--text-secondary); }
body.dark-mode .dash-coc-item { background: var(--bg-card); }
body.dark-mode .dash-coc-item-title { color: var(--text-primary); }
body.dark-mode .dash-coc-item-meta { color: var(--text-tertiary); }
body.dark-mode .dash-cocreation-banner { background: var(--bg-card); }
body.dark-mode .dash-cocreation-title { color: var(--text-primary); }
body.dark-mode .dash-cocreation-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-milestone-item { background: var(--bg-card); }
body.dark-mode .dash-milestone-name { color: var(--text-primary); }
body.dark-mode .dash-milestone-date { color: var(--text-tertiary); }
body.dark-mode .dash-milestone-icon { color: var(--text-primary); }
body.dark-mode .dash-milestone-condition { color: var(--text-secondary); }
body.dark-mode .dash-milestone-progress { background: var(--bg-card-hover); }
body.dark-mode .dash-milestone-progress-text { color: var(--text-tertiary); }
body.dark-mode .dash-milestone-encourage { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .dash-progress-ring-count { color: #fff; }
body.dark-mode .dash-progress-ring-label { color: var(--text-tertiary); }
body.dark-mode .dash-progress-ring-section { color: var(--text-secondary); }
body.dark-mode .dash-report-banner { background: var(--bg-card); }
body.dark-mode .dash-report-entry { color: var(--text-primary); }
body.dark-mode .dash-footer-text { color: var(--text-tertiary); }
body.dark-mode .dash-empty-artworks { background: var(--bg-card); }
body.dark-mode .dash-empty-artworks-text { color: var(--text-secondary); }
body.dark-mode .dash-suggestions-empty { color: var(--text-tertiary); }
body.dark-mode .dash-coc-list { background: var(--bg-primary); }
body.dark-mode .dash-milestones-unlocked { background: var(--bg-primary); }
body.dark-mode .dash-milestones-locked { background: var(--bg-primary); }
body.dark-mode .dash-ring-container { background: var(--bg-card); }
body.dark-mode .dash-ring-progress { color: var(--text-primary); }

/* ===== 绑定手机页 bp-* / bph-* ===== */
body.dark-mode .bp-container { background: var(--bg-primary); }
body.dark-mode .bp-header { background: var(--bg-card); }
body.dark-mode .bp-title { color: var(--text-primary); }
body.dark-mode .bp-back { color: var(--text-primary); }
body.dark-mode .bph-clay-card { background: var(--bg-card); }
body.dark-mode .bph-clay-desc { color: var(--text-secondary); }
body.dark-mode .bph-clay-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .bph-clay-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .bph-clay-success { background: var(--bg-card); }
body.dark-mode .bph-clay-success-title { color: var(--text-primary); }
body.dark-mode .bph-clay-success-desc { color: var(--text-secondary); }

/* ===== 创建档案 cp-* ===== */
body.dark-mode .cp-container { background: var(--bg-primary); }
body.dark-mode .cp-header { background: var(--bg-card); }
body.dark-mode .cp-title { color: var(--text-primary); }
body.dark-mode .cp-back { color: var(--text-primary); }
body.dark-mode .cp-form { background: var(--bg-card); }
body.dark-mode .cp-limit-card { background: var(--bg-card); }
body.dark-mode .cp-limit-title { color: var(--text-primary); }
body.dark-mode .cp-limit-desc { color: var(--text-secondary); }
body.dark-mode .cp-limit-bar-track { background: var(--bg-card-hover); }
body.dark-mode .cp-limit-bar-fill { background: #667eea; }
body.dark-mode .cp-limit-bar-label { color: var(--text-tertiary); }
body.dark-mode .cp-limit-upgrade { background: var(--bg-card-hover); }
body.dark-mode .cp-limit-upgrade-title { color: var(--text-primary); }
body.dark-mode .cp-limit-upgrade-desc { color: var(--text-secondary); }
body.dark-mode .login-section { background: var(--bg-card); }
body.dark-mode .login-title { color: var(--text-primary); }
body.dark-mode .login-desc { color: var(--text-tertiary); }

/* ===== 订阅页 subscribe-* ===== */
body.dark-mode .subscribe-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .subscribe-card.featured { border-color: #667eea; }
body.dark-mode .subscribe-tier-name { color: var(--text-primary); }
body.dark-mode .subscribe-price { color: var(--text-primary); }
body.dark-mode .subscribe-price-period { color: var(--text-tertiary); }
body.dark-mode .subscribe-desc { color: var(--text-secondary); }
body.dark-mode .subscribe-feature { color: var(--text-secondary); }
body.dark-mode .subscribe-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .subscribe-btn.secondary { background: var(--bg-card-hover); color: var(--text-primary); }

/* ===== 登录页 login-* ===== */
body.dark-mode .login-form { background: var(--bg-card); }
body.dark-mode .login-form-title { color: var(--text-primary); }
body.dark-mode .login-form-desc { color: var(--text-secondary); }
body.dark-mode .login-form-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .login-form-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .login-form-link { color: #667eea; }
body.dark-mode .login-form-error { color: #ff6b6b; }
body.dark-mode .login-form-tab { color: var(--text-secondary); }
body.dark-mode .login-form-tab.active { color: var(--text-primary); }
body.dark-mode .login-form-divider { color: var(--text-tertiary); }
body.dark-mode .login-form-agreement { color: var(--text-tertiary); }
body.dark-mode .login-form-agreement a { color: #667eea; }
body.dark-mode .login-form-other { color: var(--text-tertiary); }
body.dark-mode .login-form-other-btn { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }

/* ===== 通用组件 ===== */
body.dark-mode .tab-bar { background: rgba(26, 26, 46, 0.95); border-top-color: var(--border-color); }
body.dark-mode .tab-item { color: rgba(255, 255, 255, 0.35); }
body.dark-mode .tab-item.active { color: #FFA94D; }
body.dark-mode .btn-primary { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .btn-secondary { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .btn-ghost { color: var(--text-secondary); }
body.dark-mode .modal-overlay { background: rgba(0, 0, 0, 0.6); }
body.dark-mode .modal-content { background: var(--bg-card); }
body.dark-mode .modal-title { color: var(--text-primary); }
body.dark-mode .modal-desc { color: var(--text-secondary); }
body.dark-mode .toast { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .loading-spinner { color: var(--text-tertiary); }
body.dark-mode .empty-state { background: var(--bg-primary); }
body.dark-mode .empty-state-title { color: var(--text-primary); }
body.dark-mode .empty-state-desc { color: var(--text-tertiary); }
body.dark-mode .skeleton-shimmer { background: linear-gradient(90deg, var(--bg-card-hover) 25%, #3a3a5a 50%, var(--bg-card-hover) 75%); }
body.dark-mode .page-voice-area { background: var(--bg-primary); }
body.dark-mode .voice-replay-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .pin-modal { background: var(--bg-card); }
body.dark-mode .pin-title { color: var(--text-primary); }
body.dark-mode .pin-desc { color: var(--text-secondary); }
body.dark-mode .pin-input { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .pin-btn-cancel { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .pin-btn-confirm { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .login-sheet { background: var(--bg-card); }
body.dark-mode .login-sheet-title { color: var(--text-primary); }
body.dark-mode .login-sheet-desc { color: var(--text-secondary); }
body.dark-mode .paywall { background: var(--bg-card); }
body.dark-mode .paywall-title { color: var(--text-primary); }
body.dark-mode .paywall-desc { color: var(--text-secondary); }
body.dark-mode .paywall-price { color: var(--text-primary); }
body.dark-mode .paywall-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .paywall-btn.secondary { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .form-label { color: var(--text-secondary); }
body.dark-mode .form-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .text-error { color: #ff6b6b; }
body.dark-mode .text-secondary { color: var(--text-secondary); }
body.dark-mode .text-tertiary { color: var(--text-tertiary); }
body.dark-mode .spacer-44 { background: transparent; }
body.dark-mode .skeleton-page { background: var(--bg-primary); }
body.dark-mode .skeleton-stat-item { background: var(--bg-card-hover); }
body.dark-mode .skeleton-badge-item { background: var(--bg-card); }
body.dark-mode .skeleton-text { background: var(--bg-card-hover); }
body.dark-mode .skeleton-avatar { background: var(--bg-card-hover); }
body.dark-mode .skeleton-block { background: var(--bg-card-hover); }
body.dark-mode .skeleton-circle { background: var(--bg-card-hover); }
body.dark-mode .clay-card { background: var(--bg-card); }
body.dark-mode .clay-glass { background: rgba(30, 30, 54, 0.85); }
body.dark-mode .card { background: var(--bg-card); }
body.dark-mode .card-clay { background: var(--bg-card); }
body.dark-mode .card-select { background: var(--bg-card); }
body.dark-mode .card-selectable { background: var(--bg-card); }
body.dark-mode .card-select.selected { background: var(--bg-card-hover); }
body.dark-mode .card-selectable.selected { background: var(--bg-card-hover); }
body.dark-mode .setting-item { background: var(--bg-card); }
body.dark-mode .tip-item { background: var(--bg-card); }
body.dark-mode .style-option { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .doodle-style-card { background: var(--bg-card); }
body.dark-mode .length-option { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .cp-character { background: var(--bg-card); }
body.dark-mode .prompt-chips { background: var(--bg-primary); }
body.dark-mode .drawing-recent-prompts { background: var(--bg-primary); }
body.dark-mode .drawing-history { background: var(--bg-primary); }
body.dark-mode .challenge-wrap { background: var(--bg-primary); }
body.dark-mode .story-list { background: var(--bg-primary); }
body.dark-mode .story-loading { background: var(--bg-primary); }
body.dark-mode .story-stats { background: var(--bg-card); }
body.dark-mode .story-left { color: var(--text-primary); }
body.dark-mode .story-note { color: var(--text-tertiary); }
body.dark-mode .story-icon { color: var(--text-primary); }
body.dark-mode .doodle-simple-mode .drawing-generate-btn { background: linear-gradient(135deg, #FF6B6B 0%, #B088E8 50%, #FFD43B 100%); }
body.dark-mode .doodle-canvas-wrapper { box-shadow: 0 4px 12px rgba(0,0,0,0.3), 0 0 0 3px rgba(147,112,219,0.15); }
body.dark-mode .doodle-toolbar { background: var(--bg-card); border-top-color: var(--border-color); }
body.dark-mode .doodle-tool-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .doodle-tool-btn.active { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .doodle-color { border-color: var(--bg-card-hover); }
body.dark-mode .doodle-color.active { border-color: #667eea; }
body.dark-mode .doodle-action-btn { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .doodle-prompt-input { background: var(--bg-card-hover); color: var(--text-primary); border-color: var(--border-color); }
body.dark-mode .doodle-generate-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .doodle-result { background: var(--bg-card); }
body.dark-mode .doodle-card { background: var(--bg-card); }
body.dark-mode .doodle-card-title { color: var(--text-primary); }
body.dark-mode .doodle-card-desc { color: var(--text-secondary); }
body.dark-mode .memory-card { background: var(--bg-card); }
body.dark-mode .memory-card-info { color: var(--text-primary); }
body.dark-mode .memory-card-info-value { color: var(--text-primary); }
body.dark-mode .memory-card-header-title { color: var(--text-primary); }
body.dark-mode .memory-card-btn-close { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .coc-preview-container { background: var(--bg-primary); }
body.dark-mode .coc-preview-badge { color: var(--text-secondary); }
body.dark-mode .coc-preview-actions { background: var(--bg-card); }
body.dark-mode .coc-preview-btn-close { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .coc-filter-row { background: var(--bg-card); }
body.dark-mode .coc-filter-chip { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .coc-filter-chip.active { background: linear-gradient(135deg, #FF8FA3, #FF6B81); color: #fff; }
body.dark-mode .cv4-btn-ghost { color: var(--text-tertiary); }
body.dark-mode .cv4-btn-ghost:hover { background: rgba(255, 255, 255, 0.06); }
body.dark-mode .challenge-prompt-actions { background: var(--bg-primary); }
body.dark-mode .dash-cocreation-go { color: #667eea; }
body.dark-mode .dash-cocreation-icon { color: var(--text-primary); }
body.dark-mode .dash-cocreation-info { color: var(--text-secondary); }
body.dark-mode .dash-coc-item-artwork-link { color: #667eea; }
body.dark-mode .dash-coc-item--clickable { border-bottom-color: var(--border-color); }
body.dark-mode .dash-coc-item-content { color: var(--text-secondary); }
body.dark-mode .dash-coc-item-icon { color: var(--text-primary); }
body.dark-mode .dash-milestone-subheader { color: var(--text-secondary); }
body.dark-mode .dash-radar-locked { color: var(--text-tertiary); }
body.dark-mode .dash-radar-dim { color: var(--text-secondary); }
body.dark-mode .dash-radar-color { color: var(--text-primary); }
body.dark-mode .dash-radar-score-locked { color: var(--text-tertiary); }
body.dark-mode .dash-suggestion-cat-label { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-suggestion-content { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-icon { color: var(--text-primary); }
body.dark-mode .dash-suggestions-categories { background: var(--bg-primary); }
body.dark-mode .dash-cocreation-left { color: var(--text-primary); }
body.dark-mode .dash-actions { background: var(--bg-primary); }
body.dark-mode .dash-action-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-badge-insufficient { color: #ffa94d; }
body.dark-mode .dash-badge-limited { color: #ff6b6b; }
body.dark-mode .dash-event-date { color: var(--text-tertiary); }
body.dark-mode .dash-event-icon { color: var(--text-primary); }
body.dark-mode .dash-event-item { color: var(--text-secondary); }
body.dark-mode .dash-event-label { color: var(--text-primary); }
body.dark-mode .dash-footer { background: var(--bg-primary); }
body.dark-mode .dash-progress-bar { background: var(--bg-card-hover); }
body.dark-mode .dash-progress-fill { background: linear-gradient(90deg, #667eea, #764ba2); }
body.dark-mode .dash-progress-ring-text { color: var(--text-primary); }
body.dark-mode .dash-progress-ring-total { color: var(--text-tertiary); }
body.dark-mode .dash-retry-btn { background: #667eea; color: #fff; }
body.dark-mode .dash-ring-svg { stroke: var(--bg-card-hover); }
body.dark-mode .dash-tier-badge.dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-badge.dash-tier-pro { background: #3a3a5a; }
body.dark-mode .dash-trend-empty { color: var(--text-tertiary); }
body.dark-mode .dash-trend-loading { color: var(--text-tertiary); }
body.dark-mode .dash-trend-direction { color: var(--text-primary); }
body.dark-mode .dash-trend-periods { border-bottom-color: var(--border-color); }
body.dark-mode .dash-trend-container { background: var(--bg-card); }
body.dark-mode .dash-trend-canvas { background: var(--bg-card); }
body.dark-mode .dash-trend-events { border-top-color: var(--border-color); }
body.dark-mode .dash-trend-dimensions { border-top-color: var(--border-color); }
body.dark-mode .dash-trend-icon { color: var(--text-primary); }
body.dark-mode .dash-detail-icon { color: var(--text-primary); }
body.dark-mode .dash-detail-delta { color: var(--text-secondary); }
body.dark-mode .dash-detail-score-wrap { color: var(--text-primary); }
body.dark-mode .dash-detail-locked { opacity: 0.4; }
body.dark-mode .dash-detail-grid { background: var(--bg-card); }
body.dark-mode .dash-detail-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-detail-bar-bg.dash-bar-blur { background: var(--bg-card-hover); }
body.dark-mode .dash-free-lock { border-top-color: var(--border-color); }
body.dark-mode .dash-free-lock-text { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-free-lock-trend .dash-free-lock-text { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-milestone-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-milestone-progress-text { color: var(--text-tertiary); }
body.dark-mode .dash-cohistory-list { background: var(--bg-card); }
body.dark-mode .dash-cohistory-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-cohistory-theme { color: var(--text-primary); }
body.dark-mode .dash-cohistory-date { color: var(--text-tertiary); }
body.dark-mode .dash-cohistory-icon-wrap { background: var(--bg-card-hover); }
body.dark-mode .dash-cohistory-status.done { color: #52c41a; }
body.dark-mode .dash-cohistory-status.pending { color: #ffa94d; }
body.dark-mode .dash-milestones-grid { background: var(--bg-card); }
body.dark-mode .dash-mile-grid-inner { background: var(--bg-card-hover); }
body.dark-mode .dash-mile-grid-name { color: var(--text-primary); }
body.dark-mode .dash-mile-grid-name.dim { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-icon { color: var(--text-primary); }
body.dark-mode .dash-mile-grid-date { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-lock-icon { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-progress-bar { background: #3a3a5a; }
body.dark-mode .dash-mile-grid-progress-fill { background: #667eea; }
body.dark-mode .dash-mile-grid-item.locked .dash-mile-grid-inner { background: var(--bg-card-hover) !important; }
body.dark-mode .dash-mile-grid-item.unlocked .dash-mile-grid-inner { border-color: var(--border-color); }
body.dark-mode .dash-progress-ring-wrap { background: var(--bg-card); }
body.dark-mode .dash-progress-ring-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-progress-ring-bar-fill { background: linear-gradient(90deg, #667eea, #764ba2); }
body.dark-mode .dash-progress-ring-percent { background: linear-gradient(135deg, #667eea, #764ba2); }
body.dark-mode .dash-milestone-encourage { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .dash-banner { background: #2a2a30; border-color: var(--border-color); }
body.dark-mode .dash-banner-report { background: #1e2e1e; }
body.dark-mode .dash-banner-title { color: var(--text-primary); }
body.dark-mode .dash-banner-desc { color: var(--text-secondary); }
body.dark-mode .dash-banner-go { color: #667eea; }
body.dark-mode .dash-card-locked-section { opacity: 0.85; }
body.dark-mode .dash-empty { background: var(--bg-card); }
body.dark-mode .dash-empty-icon { color: var(--text-tertiary); }
body.dark-mode .dash-error { background: var(--bg-card); }
body.dark-mode .dash-error-icon { color: var(--text-tertiary); }
body.dark-mode .dash-loading { background: var(--bg-primary); }
body.dark-mode .dash-loading-spinner { color: var(--text-tertiary); }
body.dark-mode .dash-insight-card { background: var(--bg-card); }
body.dark-mode .dash-artworks-grid { background: var(--bg-card); }
body.dark-mode .dash-suggestions { background: var(--bg-card); }
body.dark-mode .dash-card-badge { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-badge { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-card-count { color: #667eea; }
body.dark-mode .dash-cocreation-entry { background: var(--bg-card); }
body.dark-mode .dash-report-banner { background: var(--bg-card); }
body.dark-mode .dash-empty-artworks-action { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-empty-artworks-icon { color: var(--text-tertiary); }
body.dark-mode .dash-milestone-progress { background: var(--bg-card-hover); }
body.dark-mode .dash-milestone-subheader { color: var(--text-secondary); }
body.dark-mode .dash-detail-bar-fill { background: #667eea; }
body.dark-mode .dash-trend-bar-fill { background: #667eea; }
body.dark-mode .dash-detail-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-trend-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-detail-score { color: var(--text-primary); }
body.dark-mode .dash-trend-score { color: var(--text-primary); }
body.dark-mode .dash-detail-label { color: var(--text-secondary); }
body.dark-mode .dash-trend-label { color: var(--text-secondary); }
body.dark-mode .dash-detail-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-trend-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-milestones-grid { background: var(--bg-card); }
body.dark-mode .dash-milestone-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-milestone-encourage { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .dash-cohistory-list { background: var(--bg-card); }
body.dark-mode .dash-cohistory-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-cohistory-theme { color: var(--text-primary); }
body.dark-mode .dash-cohistory-date { color: var(--text-tertiary); }
body.dark-mode .dash-cohistory-icon-wrap { background: var(--bg-card-hover); }
body.dark-mode .dash-cohistory-status.done { color: #52c41a; }
body.dark-mode .dash-cohistory-status.pending { color: #ffa94d; }
body.dark-mode .dash-suggestion-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-suggestion-title { color: var(--text-primary); }
body.dark-mode .dash-suggestion-desc { color: var(--text-tertiary); }
body.dark-mode .dash-suggestion-category { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-suggestion-content { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-icon { color: var(--text-primary); }
body.dark-mode .dash-suggestions-categories { background: var(--bg-primary); }
body.dark-mode .dash-suggestions-empty { color: var(--text-tertiary); }
body.dark-mode .dash-coc-list { background: var(--bg-primary); }
body.dark-mode .dash-coc-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-coc-item-title { color: var(--text-primary); }
body.dark-mode .dash-coc-item-meta { color: var(--text-tertiary); }
body.dark-mode .dash-coc-item-content { color: var(--text-secondary); }
body.dark-mode .dash-coc-item-icon { color: var(--text-primary); }
body.dark-mode .dash-coc-item-artwork-link { color: #667eea; }
body.dark-mode .dash-coc-item--clickable { border-bottom-color: var(--border-color); }
body.dark-mode .dash-cocreation-banner { background: var(--bg-card); }
body.dark-mode .dash-cocreation-title { color: var(--text-primary); }
body.dark-mode .dash-cocreation-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-cocreation-go { color: #667eea; }
body.dark-mode .dash-cocreation-icon { color: var(--text-primary); }
body.dark-mode .dash-cocreation-info { color: var(--text-secondary); }
body.dark-mode .dash-cocreation-left { color: var(--text-primary); }
body.dark-mode .dash-cocreation-entry { background: var(--bg-card); }
body.dark-mode .dash-actions { background: var(--bg-primary); }
body.dark-mode .dash-action-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-footer { background: var(--bg-primary); }
body.dark-mode .dash-footer-text { color: var(--text-tertiary); }
body.dark-mode .dash-progress-bar { background: var(--bg-card-hover); }
body.dark-mode .dash-progress-fill { background: linear-gradient(90deg, #667eea, #764ba2); }
body.dark-mode .dash-progress-ring-count { color: #fff; }
body.dark-mode .dash-progress-ring-label { color: var(--text-tertiary); }
body.dark-mode .dash-progress-ring-text { color: var(--text-primary); }
body.dark-mode .dash-progress-ring-total { color: var(--text-tertiary); }
body.dark-mode .dash-progress-ring-section { color: var(--text-secondary); }
body.dark-mode .dash-ring-container { background: var(--bg-card); }
body.dark-mode .dash-ring-progress { color: var(--text-primary); }
body.dark-mode .dash-ring-svg { stroke: var(--bg-card-hover); }
body.dark-mode .dash-report-banner { background: var(--bg-card); }
body.dark-mode .dash-report-entry { color: var(--text-primary); }
body.dark-mode .dash-empty-artworks { background: var(--bg-card); }
body.dark-mode .dash-empty-artworks-text { color: var(--text-secondary); }
body.dark-mode .dash-empty-artworks-icon { color: var(--text-tertiary); }
body.dark-mode .dash-empty-artworks-action { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-lock-badge { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dash-unlock-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-locked-overlay { background: rgba(26, 26, 46, 0.9); }
body.dark-mode .dash-radar-container { background: var(--bg-card); }
body.dark-mode .dash-radar-legend { color: var(--text-secondary); }
body.dark-mode .dash-radar-legend-line { color: var(--text-tertiary); }
body.dark-mode .dash-radar-name { color: var(--text-primary); }
body.dark-mode .dash-radar-score { color: var(--text-primary); }
body.dark-mode .dash-radar-delta { color: var(--text-secondary); }
body.dark-mode .dash-radar-locked { color: var(--text-tertiary); }
body.dark-mode .dash-radar-dim { color: var(--text-secondary); }
body.dark-mode .dash-radar-color { color: var(--text-primary); }
body.dark-mode .dash-radar-score-locked { color: var(--text-tertiary); }
body.dark-mode .dash-tier-badge { color: var(--text-primary); }
body.dark-mode .dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-pro { background: #3a3a5a; }
body.dark-mode .dash-tier-badge.dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-badge.dash-tier-pro { background: #3a3a5a; }
body.dark-mode .dash-header { background: var(--bg-card); }
body.dark-mode .dash-header-title { color: var(--text-primary); }
body.dark-mode .dash-header-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-hero { background: var(--bg-card); }
body.dark-mode .dash-hero-title { color: var(--text-primary); }
body.dark-mode .dash-hero-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-hero-icon { color: var(--text-primary); }
body.dark-mode .dash-card { background: var(--bg-card); }
body.dark-mode .dash-card-header { border-bottom-color: var(--border-color); }
body.dark-mode .dash-card-title { color: var(--text-primary); }
body.dark-mode .dash-card-link { color: #667eea; }
body.dark-mode .dash-card-count { color: #667eea; }
body.dark-mode .dash-card-badge { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-badge { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-badge-insufficient { color: #ffa94d; }
body.dark-mode .dash-badge-limited { color: #ff6b6b; }
body.dark-mode .dash-back-child-btn { background: var(--bg-card); color: #667eea; }
body.dark-mode .dash-back-child-btn:active { background: var(--bg-card-hover); }
body.dark-mode .dash-loading { background: var(--bg-primary); }
body.dark-mode .dash-loading-spinner { color: var(--text-tertiary); }
body.dark-mode .dash-loading-text { color: var(--text-tertiary); }
body.dark-mode .dash-error { background: var(--bg-card); }
body.dark-mode .dash-error-icon { color: var(--text-tertiary); }
body.dark-mode .dash-error-title { color: var(--text-primary); }
body.dark-mode .dash-error-desc { color: var(--text-tertiary); }
body.dark-mode .dash-retry-btn { background: #667eea; color: #fff; }
body.dark-mode .dash-empty { background: var(--bg-card); }
body.dark-mode .dash-empty-icon { color: var(--text-tertiary); }
body.dark-mode .dash-empty-title { color: var(--text-primary); }
body.dark-mode .dash-empty-desc { color: var(--text-tertiary); }
body.dark-mode .dash-empty-chart { background: var(--bg-card); }
body.dark-mode .dash-empty-chart-icon { color: var(--text-tertiary); }
body.dark-mode .dash-empty-chart-text { color: var(--text-tertiary); }
body.dark-mode .dash-insight-card { background: var(--bg-card); }
body.dark-mode .dash-insight-text { color: var(--text-secondary); }
body.dark-mode .dash-insight-footer { color: var(--text-tertiary); }
body.dark-mode .dash-artworks-grid { background: var(--bg-card); }
body.dark-mode .dash-artwork-item { background: var(--bg-card); }
body.dark-mode .dash-artwork-title { color: var(--text-secondary); }
body.dark-mode .dash-artwork-img { background: var(--bg-card-hover); }
body.dark-mode .dash-suggestions { background: var(--bg-card); }
body.dark-mode .dash-suggestion-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-suggestion-title { color: var(--text-primary); }
body.dark-mode .dash-suggestion-desc { color: var(--text-tertiary); }
body.dark-mode .dash-suggestion-category { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-cat-label { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-suggestion-content { color: var(--text-secondary); }
body.dark-mode .dash-suggestion-icon { color: var(--text-primary); }
body.dark-mode .dash-suggestions-categories { background: var(--bg-primary); }
body.dark-mode .dash-suggestions-empty { color: var(--text-tertiary); }
body.dark-mode .dash-cohistory-list { background: var(--bg-card); }
body.dark-mode .dash-cohistory-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-cohistory-theme { color: var(--text-primary); }
body.dark-mode .dash-cohistory-date { color: var(--text-tertiary); }
body.dark-mode .dash-cohistory-icon-wrap { background: var(--bg-card-hover); }
body.dark-mode .dash-cohistory-status.done { color: #52c41a; }
body.dark-mode .dash-cohistory-status.pending { color: #ffa94d; }
body.dark-mode .dash-milestones-grid { background: var(--bg-card); }
body.dark-mode .dash-mile-grid-inner { background: var(--bg-card-hover); }
body.dark-mode .dash-mile-grid-name { color: var(--text-primary); }
body.dark-mode .dash-mile-grid-name.dim { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-icon { color: var(--text-primary); }
body.dark-mode .dash-mile-grid-date { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-lock-icon { color: var(--text-tertiary); }
body.dark-mode .dash-mile-grid-progress-bar { background: #3a3a5a; }
body.dark-mode .dash-mile-grid-progress-fill { background: #667eea; }
body.dark-mode .dash-mile-grid-item.locked .dash-mile-grid-inner { background: var(--bg-card-hover) !important; }
body.dark-mode .dash-mile-grid-item.unlocked .dash-mile-grid-inner { border-color: var(--border-color); }
body.dark-mode .dash-progress-ring-wrap { background: var(--bg-card); }
body.dark-mode .dash-progress-ring-bar-bg { background: var(--bg-card-hover); }
body.dark-mode .dash-progress-ring-bar-fill { background: linear-gradient(90deg, #667eea, #764ba2); }
body.dark-mode .dash-progress-ring-percent { background: linear-gradient(135deg, #667eea, #764ba2); }
body.dark-mode .dash-progress-ring-label { color: var(--text-tertiary); }
body.dark-mode .dash-progress-ring-count { color: #fff; }
body.dark-mode .dash-progress-ring-text { color: var(--text-primary); }
body.dark-mode .dash-progress-ring-total { color: var(--text-tertiary); }
body.dark-mode .dash-progress-ring-section { color: var(--text-secondary); }
body.dark-mode .dash-milestone-encourage { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .dash-banner { background: #2a2a30; border-color: var(--border-color); }
body.dark-mode .dash-banner-report { background: #1e2e1e; }
body.dark-mode .dash-banner-title { color: var(--text-primary); }
body.dark-mode .dash-banner-desc { color: var(--text-secondary); }
body.dark-mode .dash-banner-go { color: #667eea; }
body.dark-mode .dash-cocreation-banner { background: var(--bg-card); }
body.dark-mode .dash-cocreation-title { color: var(--text-primary); }
body.dark-mode .dash-cocreation-subtitle { color: var(--text-secondary); }
body.dark-mode .dash-cocreation-go { color: #667eea; }
body.dark-mode .dash-cocreation-icon { color: var(--text-primary); }
body.dark-mode .dash-cocreation-info { color: var(--text-secondary); }
body.dark-mode .dash-cocreation-left { color: var(--text-primary); }
body.dark-mode .dash-cocreation-entry { background: var(--bg-card); }
body.dark-mode .dash-coc-list { background: var(--bg-primary); }
body.dark-mode .dash-coc-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-coc-item-title { color: var(--text-primary); }
body.dark-mode .dash-coc-item-meta { color: var(--text-tertiary); }
body.dark-mode .dash-coc-item-content { color: var(--text-secondary); }
body.dark-mode .dash-coc-item-icon { color: var(--text-primary); }
body.dark-mode .dash-coc-item-artwork-link { color: #667eea; }
body.dark-mode .dash-coc-item--clickable { border-bottom-color: var(--border-color); }
body.dark-mode .dash-actions { background: var(--bg-primary); }
body.dark-mode .dash-action-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dash-footer { background: var(--bg-primary); }
body.dark-mode .dash-footer-text { color: var(--text-tertiary); }
body.dark-mode .dash-progress-bar { background: var(--bg-card-hover); }
body.dark-mode .dash-progress-fill { background: linear-gradient(90deg, #667eea, #764ba2); }
body.dark-mode .dash-ring-container { background: var(--bg-card); }
body.dark-mode .dash-ring-progress { color: var(--text-primary); }
body.dark-mode .dash-ring-svg { stroke: var(--bg-card-hover); }
body.dark-mode .dash-report-banner { background: var(--bg-card); }
body.dark-mode .dash-report-entry { color: var(--text-primary); }
body.dark-mode .dash-empty-artworks { background: var(--bg-card); }
body.dark-mode .dash-empty-artworks-text { color: var(--text-secondary); }
body.dark-mode .dash-empty-artworks-icon { color: var(--text-tertiary); }
body.dark-mode .dash-empty-artworks-action { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-card-locked-section { opacity: 0.85; }
body.dark-mode .dash-milestone-item { border-bottom-color: var(--border-color); }
body.dark-mode .dash-milestone-subheader { color: var(--text-secondary); }
body.dark-mode .dash-milestone-progress { background: var(--bg-card-hover); }
body.dark-mode .dash-milestone-progress-text { color: var(--text-tertiary); }
body.dark-mode .dash-trend-periods { border-bottom-color: var(--border-color); }
body.dark-mode .dash-trend-dimensions { border-top-color: var(--border-color); }
body.dark-mode .dash-trend-container { background: var(--bg-card); }
body.dark-mode .dash-trend-canvas { background: var(--bg-card); }
body.dark-mode .dash-trend-events { border-top-color: var(--border-color); }
body.dark-mode .dash-trend-icon { color: var(--text-primary); }
body.dark-mode .dash-detail-icon { color: var(--text-primary); }
body.dark-mode .dash-detail-score-wrap { color: var(--text-primary); }
body.dark-mode .dash-detail-locked { opacity: 0.4; }
body.dark-mode .dash-detail-grid { background: var(--bg-card); }
body.dark-mode .dash-detail-bar-fill { background: #667eea; }
body.dark-mode .dash-trend-bar-fill { background: #667eea; }
body.dark-mode .dash-free-lock { border-top-color: var(--border-color); }
body.dark-mode .dash-free-lock-text { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-free-lock-trend .dash-free-lock-text { color: var(--text-secondary); background: var(--bg-card-hover); }
body.dark-mode .dash-lock-badge { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dash-unlock-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .dash-locked-overlay { background: rgba(26, 26, 46, 0.9); }
body.dark-mode .dash-radar-container { background: var(--bg-card); }
body.dark-mode .dash-radar-legend { color: var(--text-secondary); }
body.dark-mode .dash-radar-legend-line { color: var(--text-tertiary); }
body.dark-mode .dash-radar-name { color: var(--text-primary); }
body.dark-mode .dash-radar-score { color: var(--text-primary); }
body.dark-mode .dash-radar-delta { color: var(--text-secondary); }
body.dark-mode .dash-radar-locked { color: var(--text-tertiary); }
body.dark-mode .dash-radar-dim { color: var(--text-secondary); }
body.dark-mode .dash-radar-color { color: var(--text-primary); }
body.dark-mode .dash-radar-score-locked { color: var(--text-tertiary); }
body.dark-mode .dash-tier-badge { color: var(--text-primary); }
body.dark-mode .dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-pro { background: #3a3a5a; }
body.dark-mode .dash-tier-badge.dash-tier-free { background: var(--bg-card-hover); }
body.dark-mode .dash-tier-badge.dash-tier-pro { background: #3a3a5a; }

/* ============================================
   cv4 挑战页深色模式 v4.x — 42条新规则 (2026-06-13)
   ============================================ */
body.dark-mode .page-challenge-v4 {
  background: linear-gradient(180deg, #1A1512 0%, #1E1714 40%, #1A1512 100%);
}
body.dark-mode .cv4-title {
  color: #FDE68A;
}
body.dark-mode .cv4-section-label {
  color: #FDE68A;
}
body.dark-mode .cv4-daily-card {
  background: linear-gradient(135deg, #2D2D3D, #252535, #2D2D3D);
  border-color: rgba(255,143,163,.12);
}
body.dark-mode .cv4-daily-name,
body.dark-mode .cv4-daily-desc,
body.dark-mode .cv4-daily-meta {
  color: #FDE68A;
}
body.dark-mode .cv4-daily-badge {
  background: rgba(255, 255, 255, 0.1);
  color: #FDE68A;
}
body.dark-mode .cv4-daily-badge-type {
  background: rgba(253, 230, 138, 0.15);
  color: #FDE68A;
}
body.dark-mode .cv4-step-dot {
  background: rgba(253, 230, 138, 0.15);
  color: #FDE68A;
  border-color: rgba(253, 230, 138, 0.3);
}
body.dark-mode .cv4-ai-card,
body.dark-mode .cv4-grid-item,
body.dark-mode .cv4-series-card:not(.cv4-series-locked) {
  background: #272741;
}
body.dark-mode .cv4-ai-card-label {
  color: #FDE68A;
}
body.dark-mode .cv4-grid-item {
  background: #272741;
  border-color: #3A2A18;
}
body.dark-mode .cv4-grid-name {
  color: #FDE68A;
}
body.dark-mode .cv4-grid-meta {
  color: #999;
}
body.dark-mode .cv4-grid-item-done {
  background: linear-gradient(135deg, #1A3320, #1F2D22);
}
body.dark-mode .cv4-grid-item-active {
  border-color: #8B6914;
  background: #272741;
}
body.dark-mode .cv4-empty-state {
  background: #272741;
  border-color: rgba(255,255,255,.06);
}
body.dark-mode .cv4-empty-text {
  color: #666;
}
body.dark-mode .cv4-custom-challenge-wrap {
  background: linear-gradient(135deg, #2D2542, #252035);
  border-color: rgba(180,167,246,.12);
}
body.dark-mode .cv4-custom-challenge-card {
  background: #272741;
}
body.dark-mode .cv4-custom-name {
  color: #D4C5F9;
}
body.dark-mode .cv4-custom-desc {
  color: #A0A0B0;
}
body.dark-mode .cv4-custom-diff,
body.dark-mode .cv4-custom-type {
  color: #B49CF0;
  background: rgba(180, 156, 240, 0.12);
}
body.dark-mode .cv4-series-card {
  background: linear-gradient(145deg, #2A1F18 0%, #251A15 100%);
  border-color: rgba(139, 105, 20, 0.15);
}
body.dark-mode .cv4-series-locked {
  background: #1E1E32;
  border-color: rgba(255,255,255,.05);
}
body.dark-mode .cv4-series-locked::after {
  background: rgba(30,30,30,0.3);
}
body.dark-mode .cv4-series-name {
  color: #FDE68A;
}
body.dark-mode .cv4-series-locked .cv4-series-name {
  color: #6A5640;
}
body.dark-mode .cv4-series-desc {
  color: #8B7355;
}
body.dark-mode .cv4-series-btn-start {
  background: linear-gradient(145deg, #CC7044, #B85038);
}
body.dark-mode .cv4-series-free-badge {
  background: linear-gradient(135deg, #3A9A92, #2E7A73);
}
body.dark-mode .cv4-series-free {
  border-color: #3A9A92;
}
body.dark-mode .cv4-series-subtitle {
  color: #6A5640;
}
body.dark-mode .cv4-series-lock-label {
  color: #FCA5A5;
  background: rgba(239, 68, 68, 0.1);
}
body.dark-mode .cv4-intro-banner {
  background: linear-gradient(135deg, #2D2530, #272741);
  border-color: rgba(255,143,163,0.1);
}
body.dark-mode .cv4-progress-card {
  background: linear-gradient(135deg, #252545, #252535);
  border-color: rgba(180,167,246,0.1);
}
body.dark-mode .cv4-progress-num {
  color: #B4A7F6;
}
body.dark-mode .cv4-celebration-card {
  background: linear-gradient(145deg, #272741, #252535, #2D2530);
  border-color: rgba(255,143,163,0.12);
}
body.dark-mode .cv4-celebration-score {
  background: linear-gradient(135deg, #2D2542, #252035);
  color: #B4A7F6;
}
body.dark-mode .cv4-celebration-close {
  color: #AAA;
}
body.dark-mode .cv4-daily-step-preview {
  background: rgba(255,255,255,0.05);
}
body.dark-mode .cv4-series-toggle-btn {
  color: #B4A7F6;
  border-color: rgba(180,167,246,0.2);
}
body.dark-mode .cv4-series-toggle-btn:hover {
  background: rgba(180,167,246,0.1);
}
body.dark-mode .cv4-grid-toggle-btn {
  color: #B4A7F6;
  border-color: rgba(180,167,246,0.15);
}
body.dark-mode .v31-cocreation-card {
  background: linear-gradient(135deg, #2A1820 0%, #2A1A22 100%);
  border-color: #6A3A50;
}
body.dark-mode .v31-cocreation-inviter,
body.dark-mode .v31-cocreation-theme {
  color: #FDE68A;
}

/* ===== 低龄儿童优化 v4.1 深色模式 ===== */
body.dark-mode .kid-toast {
  background: var(--bg-card, #272741);
  color: var(--text-primary);
}
body.dark-mode .kid-toast .kid-toast-text {
  color: var(--text-primary);
}
body.dark-mode .kid-toast-retry-btn {
  background: linear-gradient(135deg, #667eea, #764ba2);
}
body.dark-mode .help-toggle {
  background: rgba(180,167,246,0.15);
  color: #B4A7F6;
}
body.dark-mode .help-detail {
  background: rgba(180,167,246,0.08);
  color: var(--text-secondary);
}

/* ============================================
   深色模式补全 — v3.x 页面覆盖率增强 (2026-06-18)
   新增: story-detail / report / diary / achievement / challenge-v4
   补充: 粘土升级组件 (dry-clay-*, report-*, sd-*, cv4-*, coc-*)
   ============================================ */

/* ===== Story Detail 故事详情 (sd-*) ===== */
body.dark-mode .page-story-detail { background: var(--bg-primary); }
body.dark-mode .sd-container { background: var(--bg-primary); }
body.dark-mode .sd-header { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .sd-back { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .sd-title { color: var(--text-primary); }
body.dark-mode .sd-body { background: var(--bg-primary); }
body.dark-mode .sd-cover { box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
body.dark-mode .sd-meta { color: var(--text-secondary); }
body.dark-mode .sd-story-title { color: var(--text-primary); }
body.dark-mode .sd-date { color: var(--text-tertiary); }
body.dark-mode .sd-topic-tag { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .sd-divider { background: linear-gradient(90deg, transparent, #667eea, transparent); }
body.dark-mode .sd-content { background: var(--bg-card); border-left-color: #667eea; }
body.dark-mode .sd-text { color: var(--text-primary); }
body.dark-mode .sd-action-btn { background: var(--bg-card); border-color: var(--border-color); color: var(--text-primary); }
body.dark-mode .sd-action-btn.sd-share-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .sd-action-icon { color: var(--text-secondary); }

/* ===== Report 月度报告 (report-*) ===== */
body.dark-mode .report-container { background: var(--bg-primary); }
body.dark-mode .report-header { background: var(--bg-card); }
body.dark-mode .report-back { color: var(--text-primary); background: var(--bg-card-hover); }
body.dark-mode .report-month-title { color: var(--text-primary); }
body.dark-mode .report-download-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .report-pages-indicator { background: transparent; }
body.dark-mode .report-page-dot { background: var(--bg-card-hover); color: var(--text-tertiary); border-color: var(--border-color); }
body.dark-mode .report-page-dot.active { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .report-page { background: var(--bg-card); box-shadow: 0 4px 20px rgba(0,0,0,0.3); border-color: var(--border-color); }
body.dark-mode .report-section-title { color: var(--text-primary); }
body.dark-mode .report-subsection { background: transparent; }
body.dark-mode .report-subsection h4 { color: var(--text-secondary); }
body.dark-mode .report-cover { background: linear-gradient(135deg, var(--bg-card), var(--bg-card-hover)); }
body.dark-mode .report-cover-badge { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .report-cover-title { color: #e9d5ff; }
body.dark-mode .report-cover-child { color: var(--text-primary); }
body.dark-mode .report-cover-month { color: var(--text-tertiary); }
body.dark-mode .report-cover-score { background: var(--bg-card-hover); border-color: var(--border-color); }
body.dark-mode .report-cover-score-value { color: var(--text-primary); }
body.dark-mode .report-cover-score-label { color: var(--text-tertiary); }
body.dark-mode .report-cover-score-delta { color: var(--text-secondary); }
body.dark-mode .report-cover-score-delta.up { color: #52c41a; }
body.dark-mode .report-cover-score-delta.down { color: #ff6b6b; }
body.dark-mode .report-cover-artwork { background: var(--bg-card); }
body.dark-mode .report-cover-artwork-img { border-color: var(--border-color); }
body.dark-mode .report-cover-artwork-title { color: var(--text-secondary); }
body.dark-mode .report-cover-stage { color: var(--text-tertiary); }
body.dark-mode .report-cover-footer { color: var(--text-tertiary); }
body.dark-mode .report-radar-container { background: var(--bg-card); }
body.dark-mode .report-radar-legend { color: var(--text-secondary); }
body.dark-mode .report-dim-item { border-bottom-color: var(--border-color); }
body.dark-mode .report-dim-name { color: var(--text-primary); }
body.dark-mode .report-dim-score { color: var(--text-primary); }
body.dark-mode .report-dim-delta { color: var(--text-secondary); }
body.dark-mode .report-dim-color { color: var(--text-tertiary); }
body.dark-mode .report-dim-star { color: #ffd43b; }
body.dark-mode .report-highlight-dim { color: var(--text-primary); }
body.dark-mode .report-legend-note { color: var(--text-tertiary); }
body.dark-mode .report-stats-grid { background: transparent; }
body.dark-mode .report-stat-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .report-stat-value { color: var(--text-primary); }
body.dark-mode .report-stat-label { color: var(--text-tertiary); }
body.dark-mode .report-stat-icon { color: var(--text-secondary); }
body.dark-mode .report-milestones-grid { background: transparent; }
body.dark-mode .report-milestone-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .report-milestone-icon { color: var(--text-primary); }
body.dark-mode .report-milestone-name { color: var(--text-primary); }
body.dark-mode .report-milestone-date { color: var(--text-tertiary); }
body.dark-mode .report-milestone-progress { background: var(--bg-card-hover); }
body.dark-mode .report-artworks-list { background: transparent; }
body.dark-mode .report-artwork-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .report-artwork-img { border-color: var(--border-color); }
body.dark-mode .report-artwork-info { color: var(--text-primary); }
body.dark-mode .report-artwork-title { color: var(--text-primary); }
body.dark-mode .report-artwork-type { color: var(--text-secondary); }
body.dark-mode .report-artwork-date { color: var(--text-tertiary); }
body.dark-mode .report-artwork-comment { color: var(--text-secondary); }
body.dark-mode .report-artwork-rank { color: var(--text-primary); }
body.dark-mode .report-card { background: var(--bg-card); }
body.dark-mode .report-card-title { color: var(--text-primary); }
body.dark-mode .report-card-desc { color: var(--text-secondary); }
body.dark-mode .report-card-date { color: var(--text-tertiary); }
body.dark-mode .report-card-score { color: #667eea; }
body.dark-mode .report-challenges-list { background: transparent; }
body.dark-mode .report-challenge-item { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .report-challenge-icon { color: var(--text-primary); }
body.dark-mode .report-challenge-info { color: var(--text-primary); }
body.dark-mode .report-challenge-name { color: var(--text-primary); }
body.dark-mode .report-challenge-desc { color: var(--text-secondary); }
body.dark-mode .report-suggestions-list { background: transparent; }
body.dark-mode .report-suggestion-item { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .report-suggestion-icon { color: var(--text-primary); }
body.dark-mode .report-suggestion-title { color: var(--text-primary); }
body.dark-mode .report-suggestion-desc { color: var(--text-tertiary); }
body.dark-mode .report-progress-bar { background: var(--bg-card-hover); }
body.dark-mode .report-progress-fill { background: linear-gradient(90deg, #667eea, #ff6b6b); }
body.dark-mode .report-progress-label { color: var(--text-secondary); }
body.dark-mode .report-ai-analysis { background: var(--bg-card); }
body.dark-mode .report-ai-badge { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .report-next-focus { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .report-next-icon { color: var(--text-primary); }
body.dark-mode .report-next-text { color: var(--text-primary); }
body.dark-mode .report-advice-box { background: var(--bg-card-hover); }
body.dark-mode .report-advice-title { color: var(--text-primary); }
body.dark-mode .report-advice-text { color: var(--text-secondary); }
body.dark-mode .report-share-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .report-download-btn-full { background: var(--bg-card-hover); color: #667eea; border-color: rgba(102,126,234,0.2); }
body.dark-mode .report-share-modal { background: var(--bg-card); }
body.dark-mode .report-share-modal-bg { background: rgba(0,0,0,0.6); }
body.dark-mode .report-share-modal-content { background: var(--bg-card); }
body.dark-mode .report-share-modal-close { color: var(--text-tertiary); }
body.dark-mode .report-share-modal-actions { border-top-color: var(--border-color); }
body.dark-mode .report-share-preview { background: var(--bg-card-hover); }
body.dark-mode .report-share-hint { color: var(--text-tertiary); }
body.dark-mode .report-share-actions { background: transparent; }
body.dark-mode .report-share-copy { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .report-share-download { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .report-nav { background: transparent; }
body.dark-mode .report-nav-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .report-nav-current { color: var(--text-primary); }
body.dark-mode .report-stage-badge { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .report-loading { background: var(--bg-primary); }
body.dark-mode .report-loading-icon { color: var(--text-primary); }
body.dark-mode .report-loading-text { color: var(--text-secondary); }
body.dark-mode .report-loading-hint { color: var(--text-tertiary); }
body.dark-mode .report-empty, body.dark-mode .report-error { background: var(--bg-card); }
body.dark-mode .report-empty-icon, body.dark-mode .report-error-icon { color: var(--text-tertiary); }
body.dark-mode .report-empty-text, body.dark-mode .report-error-text { color: var(--text-secondary); }
body.dark-mode .report-empty-title { color: var(--text-primary); }
body.dark-mode .report-empty-desc { color: var(--text-tertiary); }
body.dark-mode .report-retry-btn { background: #667eea; color: #fff; }
body.dark-mode .report-no-data { color: var(--text-tertiary); }

/* ===== Diary 创作日记粘土升级 (dry-clay-*) ===== */
body.dark-mode .dry-clay-header { background: var(--bg-card); box-shadow: 0 4px 20px rgba(0,0,0,0.3); border-color: var(--border-color); }
body.dark-mode .dry-clay-header-top { color: var(--text-primary); }
body.dark-mode .dry-clay-title { color: var(--text-primary); }
body.dark-mode .dry-clay-character { background: var(--bg-card-hover); }
body.dark-mode .dry-clay-stats-row { background: transparent; }
body.dark-mode .dry-clay-stat { background: var(--bg-card-hover); }
body.dark-mode .dry-clay-stat-num { color: var(--text-primary); }
body.dark-mode .dry-clay-stat-label { color: var(--text-tertiary); }
body.dark-mode .dry-clay-cal-card { background: var(--bg-card); box-shadow: 0 4px 20px rgba(0,0,0,0.3); border-color: var(--border-color); }
body.dark-mode .dry-clay-cal-header { color: var(--text-primary); }
body.dark-mode .dry-clay-cal-month { color: var(--text-primary); }
body.dark-mode .dry-clay-cal-nav { background: transparent; }
body.dark-mode .dry-clay-cal-nav-btn { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .dry-clay-cal-grid { background: transparent; }
body.dark-mode .dry-clay-cal-day-header { color: var(--text-tertiary); }
body.dark-mode .dry-clay-cal-day { color: var(--text-secondary); }
body.dark-mode .dry-clay-cal-day--today { background: rgba(102,126,234,0.15); color: #667eea; }
body.dark-mode .dry-clay-cal-day--has-art { color: var(--text-primary); }
body.dark-mode .dry-clay-streak-card { background: var(--bg-card); box-shadow: 0 4px 20px rgba(0,0,0,0.3); border-color: var(--border-color); }
body.dark-mode .dry-clay-streak-fire { color: #ffa94d; }
body.dark-mode .dry-clay-streak-num { color: var(--text-primary); }
body.dark-mode .dry-clay-streak-label { color: var(--text-tertiary); }
body.dark-mode .dry-clay-entry { background: var(--bg-card); border-bottom-color: var(--border-color); }
body.dark-mode .dry-clay-entry--milestone { border-color: #ffd43b; }
body.dark-mode .dry-clay-entry-thumb { background: var(--bg-card-hover); }
body.dark-mode .dry-clay-entry-thumb-fallback { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .dry-clay-entry-content { color: var(--text-primary); }
body.dark-mode .dry-clay-entry-type { color: var(--text-secondary); }
body.dark-mode .dry-clay-entry-comment { color: var(--text-secondary); }
body.dark-mode .dry-clay-entry-time { color: var(--text-tertiary); }
body.dark-mode .dry-clay-empty { background: var(--bg-card); }
body.dark-mode .dry-clay-empty-icon { color: var(--text-tertiary); }
body.dark-mode .dry-clay-empty-title { color: var(--text-primary); }
body.dark-mode .dry-clay-empty-desc { color: var(--text-secondary); }

/* ===== Achievement 成就页补充 (achievement-*) ===== */
body.dark-mode .achievement-body { background: var(--bg-primary); }
body.dark-mode .achievement-grid { background: transparent; }
body.dark-mode .achievement-icon { color: var(--text-primary); }
body.dark-mode .achievement-status { color: var(--text-tertiary); }

/* ===== Challenge v4 挑战页补充 (cv4-*) ===== */
body.dark-mode .cv4-container { background: var(--bg-primary); }
body.dark-mode .cv4-header { background: var(--bg-card); }
body.dark-mode .cv4-section { background: transparent; }
body.dark-mode .cv4-challenge-grid { background: transparent; }
body.dark-mode .cv4-grid-emoji { color: var(--text-primary); }
body.dark-mode .cv4-grid-check { color: #52c41a; }
body.dark-mode .cv4-grid-pulse { background: rgba(102,126,234,0.15); }
body.dark-mode .cv4-grid-toggle-wrap { background: transparent; }
body.dark-mode .cv4-grid-toggle-btn { color: #667eea; border-color: rgba(102,126,234,0.2); }
body.dark-mode .cv4-empty-emoji { color: var(--text-tertiary); }
body.dark-mode .cv4-btn { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .cv4-btn-secondary { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .cv4-btn-start { background: linear-gradient(145deg, #CC7044, #B85038); color: #fff; }
body.dark-mode .cv4-btn-listen { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .cv4-daily-header { color: var(--text-primary); }
body.dark-mode .cv4-daily-emoji { color: var(--text-primary); }
body.dark-mode .cv4-daily-glow { background: rgba(253,230,138,0.05); }
body.dark-mode .cv4-daily-actions { background: transparent; }
body.dark-mode .cv4-daily-steps-dots { background: transparent; }
body.dark-mode .cv4-daily-inprogress { background: var(--bg-card); border-color: #8B6914; }
body.dark-mode .cv4-daily-inprogress-badge { background: rgba(139,105,20,0.15); color: #FDE68A; }
body.dark-mode .cv4-daily-ai-fallback { color: var(--text-tertiary); }
body.dark-mode .cv4-daily-dim-score { color: var(--text-tertiary); }
body.dark-mode .cv4-step-dot-active { background: #FDE68A; }
body.dark-mode .cv4-ai-grid { background: transparent; }
body.dark-mode .cv4-ai-card-emoji { color: var(--text-primary); }
body.dark-mode .cv4-ai-card--loading { opacity: 0.6; }
body.dark-mode .cv4-ai-loading { color: var(--text-tertiary); }
body.dark-mode .cv4-custom-header { color: var(--text-primary); }
body.dark-mode .cv4-custom-meta { color: var(--text-tertiary); }
body.dark-mode .cv4-custom-actions { background: transparent; }
body.dark-mode .cv4-custom-challenge-badge { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .cv4-series-scroll { background: transparent; }
body.dark-mode .cv4-series-emoji { color: var(--text-primary); }
body.dark-mode .cv4-series-meta { color: var(--text-secondary); }
body.dark-mode .cv4-series-diff { color: var(--text-tertiary); }
body.dark-mode .cv4-series-days { color: var(--text-secondary); }
body.dark-mode .cv4-series-action { background: transparent; }
body.dark-mode .cv4-series-active { border-color: #8B6914; }
body.dark-mode .cv4-series-active-badge { background: rgba(102,126,234,0.15); color: #667eea; }
body.dark-mode .cv4-series-btn-locked { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .cv4-series-toggle-wrap { background: transparent; }
body.dark-mode .cv4-series-toggle-btn { color: #667eea; border-color: rgba(102,126,234,0.2); }
body.dark-mode .cv4-series-lock-banner { background: rgba(239,68,68,0.08); color: #FCA5A5; }
body.dark-mode .cv4-series-lock-icon { color: #FCA5A5; }
body.dark-mode .cv4-progress-divider { border-color: var(--border-color); }
body.dark-mode .cv4-progress-label { color: var(--text-tertiary); }
body.dark-mode .cv4-progress-stat { color: var(--text-primary); }
body.dark-mode .cv4-intro-icon { color: var(--text-primary); }
body.dark-mode .cv4-intro-title { color: var(--text-primary); }
body.dark-mode .cv4-intro-subtitle { color: var(--text-secondary); }
body.dark-mode .cv4-intro-text { color: var(--text-secondary); }
body.dark-mode .cv4-celebration-overlay { background: rgba(26,26,46,0.92); }
body.dark-mode .cv4-celebration-emoji { color: var(--text-primary); }
body.dark-mode .cv4-celebration-title { color: var(--text-primary); }
body.dark-mode .cv4-celebration-message { color: var(--text-secondary); }
body.dark-mode .cv4-celebration-actions { background: transparent; }
body.dark-mode .cv4-celebration-fadeout { opacity: 1; }
body.dark-mode .cv4-tier-badge { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .cv4-tier-creator { border-color: #667eea; }
body.dark-mode .cv4-tier-family { border-color: #ffa94d; }
body.dark-mode .cv4-tier-master { border-color: #ffd43b; }
body.dark-mode .cv4-toast { background: var(--bg-card); color: var(--text-primary); }

/* ===== Co-Creation 共创模式补充 (coc-*) ===== */
body.dark-mode .coc-mode-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .coc-mode-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
body.dark-mode .coc-mode-icon { color: var(--text-primary); }
body.dark-mode .coc-mode-name { color: var(--text-primary); }
body.dark-mode .coc-step-tag { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .coc-btn-start { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .coc-btn-primary { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .coc-btn-secondary { background: var(--bg-card-hover); color: var(--text-primary); }
body.dark-mode .coc-guide-card { background: var(--bg-card); }
body.dark-mode .coc-guide-card-inner { background: linear-gradient(135deg, var(--bg-card-hover), var(--bg-card)); }
body.dark-mode .coc-guide-card-quote { color: var(--text-primary); }
body.dark-mode .coc-guide-card-text { color: var(--text-primary); }
body.dark-mode .coc-guide-card-meta { background: transparent; }
body.dark-mode .coc-meta-tag { background: var(--bg-card-hover); color: var(--text-secondary); }
body.dark-mode .coc-guide-card-tips { background: var(--bg-card-hover); color: #ffa94d; border-top-color: rgba(255,169,77,0.15); }
body.dark-mode .coc-round { background: var(--bg-card); }
body.dark-mode .coc-round-num { background: #667eea; color: #fff; }
body.dark-mode .coc-ai-workshop { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .coc-ai-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .coc-ai-card:hover { border-color: rgba(102,126,234,0.3); }
body.dark-mode .coc-inspiration-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .coc-inspiration-card:hover { border-color: #ff8fa3; }
body.dark-mode .coc-ai-btn-random { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .coc-ai-btn-custom { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; }
body.dark-mode .coc-complete-frames { background: var(--bg-primary); }
body.dark-mode .coc-frame { background: var(--bg-card); }
body.dark-mode .coc-frame-title { color: var(--text-primary); }
body.dark-mode .coc-frame-sub { color: var(--text-secondary); }
body.dark-mode .coc-stars-container { background: transparent; }
body.dark-mode .coc-star { color: #ffd43b; }
body.dark-mode .coc-artwork-frame { background: var(--bg-card); }
body.dark-mode .coc-artwork-fallback { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .coc-artwork-glow { background: rgba(102,126,234,0.1); }
body.dark-mode .coc-stats-wrap { background: transparent; }
body.dark-mode .coc-stat-row { background: var(--bg-card); }
body.dark-mode .coc-stat-num { color: var(--text-primary); }
body.dark-mode .coc-stat-label { color: var(--text-tertiary); }
body.dark-mode .coc-stat-emoji { color: var(--text-primary); }
body.dark-mode .coc-rewards { background: transparent; }
body.dark-mode .coc-reward-item { background: var(--bg-card); }
body.dark-mode .coc-unlock-text { color: var(--text-secondary); }
body.dark-mode .coc-preview-overlay { background: rgba(0,0,0,0.6); }
body.dark-mode .coc-preview-artwork { background: var(--bg-card-hover); }
body.dark-mode .coc-preview-img { border-color: var(--border-color); }
body.dark-mode .coc-preview-details { background: transparent; }
body.dark-mode .coc-preview-detail-row { border-bottom-color: var(--border-color); }
body.dark-mode .coc-preview-detail-icon { color: var(--text-secondary); }
body.dark-mode .coc-preview-detail-text { color: var(--text-primary); }
body.dark-mode .coc-preview-note { background: var(--bg-card-hover); }
body.dark-mode .coc-preview-note-header { color: var(--text-secondary); }
body.dark-mode .coc-preview-note-text { color: var(--text-primary); }
body.dark-mode .coc-preview-btn { background: var(--bg-card-hover); color: var(--text-primary); }

/* ===== v3.3 教育模块暗黑补充 (report-v3.3 / achievement-v3.3 / challenge-v3.3) ===== */
body.dark-mode .report-page:hover { box-shadow: 0 6px 28px rgba(0,0,0,0.4); }
body.dark-mode .report-cover-score::before { opacity: 0.3; }
body.dark-mode .report-cover-artwork-img { border-color: var(--border-color); }
body.dark-mode .report-cover-artwork-img:hover { transform: scale(1.02); }
body.dark-mode .report-stat-card:active { transform: scale(0.97); }
body.dark-mode .report-artwork-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
body.dark-mode .report-share-btn:hover { box-shadow: 0 6px 20px rgba(102,126,234,0.45); }
body.dark-mode .report-milestone-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
body.dark-mode .report-page-dot { background: var(--bg-card-hover); color: var(--text-tertiary); }
body.dark-mode .achievement-card { background: var(--bg-card); border-color: var(--border-color); }
body.dark-mode .achievement-card.achieved { background: linear-gradient(135deg, #2A2A18, #2A2A10); border-color: rgba(255,169,77,0.15); }
body.dark-mode .achievement-card:not(.achieved) { background: var(--bg-card); opacity: 0.7; }
body.dark-mode .achievement-card:not(.achieved):hover { opacity: 0.9; }
body.dark-mode .achievement-card.achieved::before { background: linear-gradient(90deg, #ffd43b, #ffa94d); }
