:root{
  --bg:#f6f7fb; --fg:#0f172a; --muted:#475569; --card:#ffffff; --ring:#e2e8f0;
  --brand:#6b7280; --accent:#2563eb; --danger:#ef4444;

  /* 期刊配色（保持不变，略） */
  --c-prl:#fde2e4; --t-prl:#9f1d2d;
  --c-prb:#e0f2fe; --t-prb:#0b4f71;
  --c-pre:#dcfce7; --t-pre:#166534;
  --c-prr:#ede9fe; --t-prr:#5b21b6;
  --c-prx:#fff7ed; --t-prx:#9a3412;
  --c-prxq:#e0e7ff; --t-prxq:#3730a3;
  --c-nature:#f0fdf4; --t-nature:#166534;
  --c-nphys:#faf5ff; --t-nphys:#7e22ce;
  --c-ncomms:#ecfeff; --t-ncomms:#155e75;
  --c-nmat:#fdf2f8; --t-nmat:#9d174d;
  --c-nnano:#fefce8; --t-nnano:#854d0e;
  --c-science:#fee2e2; --t-science:#991b1b;
  --c-sciadv:#eef2ff; --t-sciadv:#3730a3;
  --c-nalett:#f0f9ff; --t-nalett:#075985;
  --c-njp:#fffbeb; --t-njp:#92400e;
  --c-cpl:#f5f3ff; --t-cpl:#4c1d95;
  --c-cpb:#ecfccb; --t-cpb:#3f6212;
  --c-nsr:#fef2f2; --t-nsr:#9f1239;
  --c-arxiv:#e6fffb; --t-arxiv:#0e7490;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,"Helvetica Neue",Arial}
.container{max-width:1100px;margin:0 auto;padding:16px}
header.container{display:grid;gap:12px}
h1{margin:0;font-size:28px}
.pill{border-radius:999px;padding:2px 10px;background:var(--ring);font-size:12px;color:var(--muted)}
.pill-brand{background:var(--brand);color:#fff}

.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.toolbar input, .toolbar select{padding:10px 12px;border:1px solid var(--ring);border-radius:12px;background:#fff}
.toolbar input{flex:1;min-width:240px}
#src{min-width:160px}
.toolbar button{padding:10px 12px;border:1px solid var(--ring);border-radius:12px;background:#fff;cursor:pointer}
.toolbar button.accent{background:var(--accent);color:#fff;border-color:transparent}
.toolbar button.danger{background:var(--danger);color:#fff;border-color:transparent}

.legend{display:flex;gap:8px;flex-wrap:wrap}
.legend .legend-item{display:flex;align-items:center;gap:6px;font-size:12px}
.legend .swatch{width:14px;height:14px;border-radius:4px;border:1px solid var(--ring)}
.meta-line{color:var(--muted);font-size:14px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.card{border:1px solid var(--ring);border-radius:20px;padding:18px;display:grid;gap:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.card-head{display:flex;align-items:center;gap:10px}
.badge{font-weight:700;padding:4px 10px;border-radius:999px;background:#fff}
.type{font-size:12px;color:#334155}
.time{margin-left:auto;font-size:12px;color:#334155}
.title{margin:0;font-size:20px}
.meta{margin:0;color:#1f2937;font-size:14px}
.abs{margin:0;color:#334155;font-size:14px}
.meta strong,.abs strong{font-weight:700;margin-right:6px}
.links{display:flex;gap:12px;flex-wrap:wrap}
.links a{font-size:14px}
.star{background:transparent;border:none;font-size:18px;cursor:pointer}
.star.on{color:#f59e0b}

/* 卡片背景按期刊着色 */
.tone.PRL{background:var(--c-prl)} .tone.PRB{background:var(--c-prb)} .tone.PRE{background:var(--c-pre)}
.tone.PRResearch{background:var(--c-prr)} .tone.PRX{background:var(--c-prx)} .tone.PRXQ{background:var(--c-prxq)}
.tone.Nature{background:var(--c-nature)} .tone.NatPhys{background:var(--c-nphys)} .tone.NatCommun{background:var(--c-ncomms)}
.tone.NatMater{background:var(--c-nmat)} .tone.NatNano{background:var(--c-nnano)}
.tone.Science{background:var(--c-science)} .tone.SciAdv{background:var(--c-sciadv)}
.tone.NanoLett{background:var(--c-nalett)} .tone.NJP{background:var(--c-njp)}
.tone.CPL{background:var(--c-cpl)} .tone.CPB{background:var(--c-cpb)} .tone.NSR{background:var(--c-nsr)}
.tone.arXivCM{background:var(--c-arxiv)}

.badge.PRL{color:var(--t-prl)} .badge.PRB{color:var(--t-prb)} .badge.PRE{color:var(--t-pre)}
.badge.PRResearch{color:var(--t-prr)} .badge.PRX{color:var(--t-prx)} .badge.PRXQ{color:var(--t-prxq)}
.badge.Nature{color:var(--t-nature)} .badge.NatPhys{color:var(--t-nphys)} .badge.NatCommun{color:var(--t-nc
