/* 错题本第六批：到期红点 + 相似题聚合 + Anki 导出 */

/* ---------- 顶栏铃铛上的「错题到期」红点（与站内通知红点并存，用不同色区分） ---------- */
.notif-bell .due-dot {
  position: absolute;
  top: -2px; right: -2px;
  min-width: 16px; height: 16px; line-height: 16px;
  padding: 0 4px;
  background: #ef4444;
  color: #fff;
  font-size: 10px; font-weight: 700;
  border-radius: 999px;
  border: 2px solid #fff;
  text-align: center;
  box-sizing: content-box;
  pointer-events: none;
}
[data-theme="dark"] .notif-bell .due-dot,
body.dark .notif-bell .due-dot { border-color: #1e293b; }

/* ---------- 错题本工具栏按钮上的角标 ---------- */
.mb-due-pill {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  height: 16px; line-height: 16px;
  background: #ef4444; color: #fff;
  font-size: 11px; font-weight: 700;
  border-radius: 999px;
}

/* ---------- 相似题聚合视图 ---------- */
.mb-cluster-wrap { display: flex; flex-direction: column; gap: 14px; }

.mb-cluster {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.mb-cluster-head {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 12px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
  cursor: pointer;
  user-select: none;
}
.mb-cluster-head:hover { background: #f1f5f9; }
.mb-cluster-title { font-size: 15px; font-weight: 600; color: #111827; }
.mb-cluster-count { font-size: 12px; color: #6b7280; }
.mb-cluster-arrow { margin-left: auto; color: #9ca3af; font-size: 12px; transition: transform .2s; }
.mb-cluster.open .mb-cluster-arrow { transform: rotate(90deg); }

.mb-cluster-body { display: none; padding: 6px 16px 14px; }
.mb-cluster.open .mb-cluster-body { display: block; }

.mb-cluster-item {
  padding: 10px 0;
  border-bottom: 1px dashed #eef2f7;
  font-size: 14px; line-height: 1.65;
}
.mb-cluster-item:last-child { border-bottom: none; }
.mb-cluster-q { color: #111827; margin-bottom: 4px; }
.mb-cluster-meta { font-size: 12px; color: #6b7280; display: flex; gap: 10px; flex-wrap: wrap; }
.mb-cluster-a { color: #047857; }
.mb-cluster-w { color: #b91c1c; }

.mb-cluster-ops { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

/* 聚合视图顶部说明 */
.mb-cluster-tip {
  font-size: 13px; color: #6b7280; line-height: 1.7;
  padding: 10px 14px; margin-bottom: 12px;
  background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px;
}

/* ---------- 深色模式 ---------- */
[data-theme="dark"] .mb-cluster, body.dark .mb-cluster { background: #1f2937; border-color: #374151; }
[data-theme="dark"] .mb-cluster-head, body.dark .mb-cluster-head { background: #111827; border-color: #374151; }
[data-theme="dark"] .mb-cluster-head:hover, body.dark .mb-cluster-head:hover { background: #1e293b; }
[data-theme="dark"] .mb-cluster-title, body.dark .mb-cluster-title,
[data-theme="dark"] .mb-cluster-q, body.dark .mb-cluster-q { color: #f3f4f6; }
[data-theme="dark"] .mb-cluster-count, body.dark .mb-cluster-count,
[data-theme="dark"] .mb-cluster-meta, body.dark .mb-cluster-meta { color: #9ca3af; }
[data-theme="dark"] .mb-cluster-item, body.dark .mb-cluster-item { border-color: #374151; }
[data-theme="dark"] .mb-cluster-tip, body.dark .mb-cluster-tip { background: #1e293b; border-color: #334155; color: #9ca3af; }
[data-theme="dark"] .mb-cluster-a, body.dark .mb-cluster-a { color: #6ee7b7; }
[data-theme="dark"] .mb-cluster-w, body.dark .mb-cluster-w { color: #fca5a5; }
