/* ============================================
   panels-dark.css —— 面板【深色配色层】（index.html 专属）
   ============================================

   与 css/panels.css（结构层）配对：结构层给布局，本文件只给颜色。
   内容 = 原先散落在 core.css 与 index.html inline 里的深色配色，逐条搬过来，
   保证「结构层 + 本文件」对 index 的最终计算值与原状完全一致（视觉零变化）。

   浅色版本在 css/island/panels-light.css（同样只含颜色）。
   两端二选一时，删掉不需要的那一份即可 —— 没有结构要跟着改。
   ============================================ */


/* ================= 1. 个人中心 #parentOverlay ================= */

#parentOverlay { background: linear-gradient(180deg, #0a0820 0%, #0f0c29 100%); }

.parent-topbar { background: linear-gradient(180deg, #0a0820 70%, transparent 100%); }
.parent-title { color: white; }
.parent-close-btn { background: rgba(255, 255, 255, 0.1); color: white; }
.parent-close-btn:active { background: rgba(255, 255, 255, 0.2); }

.parent-acct-id { color: #c084fc; }
.parent-pwd { color: rgba(255, 255, 255, 0.8); }
.parent-mini-btn { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.6); }

.parent-divider { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.parent-divider-lg { border-top: 1px solid rgba(255, 255, 255, 0.06); }

.parent-link { color: #a78bfa; }
.parent-err { color: #f87171; }

.parent-sec-label { color: rgba(255, 255, 255, 0.45); }
.parent-sec-title { color: rgba(255, 255, 255, 0.8); }
.parent-field-label { color: rgba(255, 255, 255, 0.4); }

.parent-select {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.9);
}

.parent-row-label { color: rgba(255, 255, 255, 0.85); }
.parent-row-desc { color: rgba(255, 255, 255, 0.35); }

.parent-switch { background: rgba(255, 255, 255, 0.15); }
.parent-switch.on { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.parent-knob { background: #fff; }

.parent-btn-primary,
.parent-btn-sm { background: linear-gradient(135deg, #7c3aed, #a855f7); color: #fff; }
.parent-btn-ghost {
  background: rgba(168, 85, 247, 0.15);
  border-color: rgba(168, 85, 247, 0.3);
  color: #c084fc;
}
.parent-btn-danger {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.25);
  color: #f87171;
}

.parent-desc,
.parent-note { color: rgba(255, 255, 255, 0.3); }


/* ================= 2. 每日记录 #quests ================= */

.quests-backdrop { background: rgba(0, 0, 0, 0.55); backdrop-filter: blur(2px); }

#quests {
  background: linear-gradient(180deg, #1a1040 0%, #0f0c29 100%);
  border-top-color: rgba(245, 158, 11, 0.25);
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.6);
}

.quest-overlay-handle { background: rgba(255, 255, 255, 0.2); }
.quest-overlay-topbar { background: linear-gradient(180deg, #1a1040 70%, transparent 100%); }
.quest-overlay-title { color: white; }
.quest-close-btn { background: rgba(255, 255, 255, 0.1); color: white; }
.quest-close-btn:active { background: rgba(255, 255, 255, 0.2); }

.dp-nav-btn { background: rgba(255, 255, 255, 0.1); color: white; }
.dp-month-label { color: white; }

/* 日历格子：等级色（绿系越深=当天成就越高） */
.dp-cell {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.dp-cell.lv1 { background: rgba(74, 222, 128, 0.25); border-color: rgba(74, 222, 128, 0.5); }
.dp-cell.lv2 { background: rgba(52, 211, 153, 0.4);  border-color: rgba(52, 211, 153, 0.7); }
.dp-cell.lv3 { background: rgba(16, 185, 129, 0.55); border-color: rgba(16, 185, 129, 0.9); }

.dp-cell-num { color: rgba(255, 255, 255, 0.4); font-weight: 400; }
.dp-cell.lv1 .dp-cell-num,
.dp-cell.lv2 .dp-cell-num,
.dp-cell.lv3 .dp-cell-num { color: rgba(255, 255, 255, 0.85); font-weight: 600; }

/* 今日高亮写在最后：同特异性下后写者胜，确保压过等级色 */
.dp-cell.is-today { border: 1.5px solid rgba(251, 191, 36, 0.8); }
.dp-cell.is-today .dp-cell-num { color: #fbbf24; font-weight: 700; }

.dp-summary { background: rgba(255, 255, 255, 0.07); }
.dp-summary-label { color: rgba(255, 255, 255, 0.6); }
.dp-total { color: #fbbf24; }
.dp-hint { color: rgba(255, 255, 255, 0.35); }
.dp-books-label { color: rgba(255, 255, 255, 0.45); }

.dp-book-card { background: rgba(255, 255, 255, 0.06); }
.dp-book-detail { border-top: 1px solid rgba(255, 255, 255, 0.08); }
.dp-book-title { color: white; }
.dp-book-meta { color: rgba(255, 255, 255, 0.5); }
.dp-chevron { color: rgba(255, 255, 255, 0.3); }
.dp-ai-comment { background: rgba(139, 92, 246, 0.15); color: rgba(255, 255, 255, 0.8); }
.dp-empty { color: rgba(255, 255, 255, 0.3); }
.dp-qa-q { color: rgba(255, 255, 255, 0.85); }
.dp-qa-a { color: rgba(255, 255, 255, 0.55); }


/* ================= 3. VIP 卡片 ================= */

/* 非会员（默认）= 紫青玻璃卡；会员 = 金紫玻璃卡 */
.vip-card {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.15), rgba(34, 211, 238, 0.08));
  border: 1px solid rgba(168, 85, 247, 0.25);
}
.vip-card.is-vip {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(168, 85, 247, 0.12));
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.vip-card-title { color: #fbbf24; }
.vip-days { color: #34d399; }
.vip-days.warn { color: #fb923c; }
.vip-upgrade-title { color: #c084fc; }
.vip-upgrade-sub { color: rgba(255, 255, 255, 0.4); }

.vip-icon-btn { background: rgba(255, 255, 255, 0.08); color: #fff; }
.vip-cta-btn { background: linear-gradient(135deg, #7c3aed, #a855f7); color: #fff; }
.vip-cta-btn.gold { background: linear-gradient(135deg, #f59e0b, #fbbf24); color: #000; }

.vip-msg.err { color: #f87171; }
.vip-msg.ok { color: #34d399; }

.vip-feat { color: rgba(255, 255, 255, 0.75); }

.vip-list-title { color: rgba(255, 255, 255, 0.35); }
.vip-row { border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.vip-code { color: rgba(255, 255, 255, 0.5); }
.vip-type { color: rgba(255, 255, 255, 0.35); }
.vip-status { color: #34d399; }
.vip-status.queued { color: #60a5fa; }
.vip-status.expired { color: rgba(255, 255, 255, 0.3); }


/* ================= 4. 账号绑定行 ================= */

.bind-row { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.06); }
.bind-row.unbound { background: rgba(255, 255, 255, 0.03); border-color: rgba(255, 255, 255, 0.04); }

.bind-icon.wechat { color: #07C160; }
.bind-icon.google { color: #4285F4; }
.bind-icon.email  { color: #7C3AED; }
.bind-row.unbound .bind-icon { color: rgba(255, 255, 255, 0.25); }

.bind-name { color: rgba(255, 255, 255, 0.85); }
.bind-row.unbound .bind-name { color: rgba(255, 255, 255, 0.4); }

.bind-mark { color: #4ade80; }
.bind-row.unbound .bind-mark { color: rgba(255, 255, 255, 0.15); }

.bind-btn {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}
.bind-btn.wechat { color: #07C160; }
.bind-btn.google { color: #4285F4; }
.bind-btn.email  { color: #7C3AED; }
.bind-btn.danger {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: #f87171;
}
