/* Task H 会刊经济组件：明暗双主题、移动端 390px 适配、点击区 >=44px */
.mx-catalog{--bg:var(--surface,#fff);--fg:var(--text,#1f2329);--mut:var(--text-2,#6b7280);
  --line:var(--border,#e5e7eb);--brand:var(--primary,#2563eb);--brand-fg:#fff;--warn:#b45309;
  --radius:12px;font-family:inherit;color:var(--fg);}
:root[data-theme="dark"] .mx-catalog,.dark .mx-catalog{--bg:#16181d;--fg:#e5e7eb;--mut:#9aa3af;
  --line:#2a2e36;--brand:#3b82f6;--brand-fg:#fff;--warn:#fbbf24;}
.mx-catalog *{box-sizing:border-box}
.mx-cat-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px;margin:12px 0;display:flex;flex-direction:column;gap:10px}
.mx-cat-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.mx-cat-title{font-size:15px;font-weight:600;line-height:1.4;flex:1 1 200px;word-break:break-word}
.mx-cat-meta{font-size:12.5px;color:var(--mut);display:flex;gap:10px;flex-wrap:wrap}
.mx-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;
  font-size:11.5px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);
  border:1px solid color-mix(in srgb,var(--brand) 30%,transparent)}
.mx-badge.free{background:color-mix(in srgb,#16a34a 14%,transparent);color:#16a34a;border-color:#16a34a55}
.mx-cat-actions{display:flex;gap:10px;flex-wrap:wrap}
/* 关键：所有可点元素最小 44x44，移动端易点 */
.mx-btn{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--fg);
  min-height:44px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s;line-height:1.2}
.mx-btn:hover{border-color:var(--brand)}
.mx-btn.primary{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}
.mx-btn.ghost{background:transparent}
.mx-btn:disabled{opacity:.55;cursor:not-allowed}
.mx-btn.block{flex:1 1 160px}
.mx-lock-note{font-size:12.5px;color:var(--warn)}
/* 预览弹层 */
.mx-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;
  justify-content:center;z-index:9999;padding:16px}
.mx-modal-mask.show{display:flex}
.mx-modal{background:var(--bg);border-radius:14px;max-width:560px;width:100%;max-height:84vh;
  display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.mx-modal-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;
  border-bottom:1px solid var(--line);font-weight:600}
.mx-modal-b{padding:8px 16px 16px;overflow:auto}
.mx-x{min-width:44px;min-height:44px;border:none;background:transparent;font-size:20px;color:var(--mut);cursor:pointer}
.mx-prev-row{display:flex;gap:8px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.mx-prev-row .b{color:var(--brand);min-width:64px;flex:none}
.mx-more-tip{padding:14px 4px;text-align:center;color:var(--mut);font-size:13px}
/* 导出条 */
.mx-export-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0}
.mx-sel{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);padding:0 10px;font-size:14px}
.mx-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#111827;color:#fff;
  padding:10px 16px;border-radius:10px;font-size:13.5px;z-index:10000;max-width:90vw;text-align:center}
@media (max-width:480px){
  .mx-cat-actions .mx-btn{flex:1 1 100%}
  .mx-modal{max-height:90vh}
}
