/**
 * 练习模式选择弹窗 · 样式（doc/16，紫色 elearn）
 */
.pm-overlay {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(15, 23, 42, .45);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.pm-overlay[hidden] { display: none; }
body.pm-lock { overflow: hidden; }

.pm-modal {
  position: relative; width: min(440px, 100%);
  background: var(--surface, #fff); border-radius: 18px; padding: 22px 20px 18px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .28);
}
.pm-close { position: absolute; right: 14px; top: 12px; border: none; background: transparent; font-size: 24px; line-height: 1; color: var(--text-4, #94a3b8); cursor: pointer; }
.pm-close:hover { color: var(--text-2, #475569); }
.pm-title { margin: 0 0 16px; font-size: 18px; font-weight: 700; color: var(--text, #1e293b); text-align: center; }

.pm-opts { display: flex; flex-direction: column; gap: 12px; }
.pm-opt {
  display: flex; align-items: center; gap: 14px; text-align: left; cursor: pointer;
  border: 1.5px solid var(--border, #e5e7eb); background: var(--surface, #fff);
  border-radius: 14px; padding: 14px 16px; transition: all .15s ease;
}
.pm-opt:hover { border-color: var(--primary-soft-2, #c4b5fd); transform: translateY(-1px); box-shadow: var(--shadow-sm, 0 4px 14px -6px rgba(99,102,241,.4)); }
.pm-opt.is-preselect { border-color: var(--primary, #7c3aed); background: var(--primary-soft, #f3e8ff); }
.pm-opt__ic {
  width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff;
  background: var(--gradient, linear-gradient(135deg, #7c3aed, #6366f1));
}
.pm-opt__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pm-opt__label { font-size: 15px; font-weight: 700; color: var(--text, #1e293b); display: flex; align-items: center; gap: 8px; }
.pm-opt__rec { font-size: 11px; font-weight: 700; color: #fff; background: #f97316; border-radius: 6px; padding: 1px 7px; }
.pm-opt__desc { font-size: 12.5px; color: var(--text-3, #64748b); }
.pm-opt__arrow { color: var(--text-4, #94a3b8); font-size: 13px; }
