/* ==========================================================================
   4Search — markets.css
   Prediction-market cards (includes/politics/politics.markets.inc.php,
   fs_pm_html): loaded by the Politics pages and by Finance's economy page,
   so the colours are their own --pm-* tokens, restated for dark mode.
   ========================================================================== */
.pol-page, .fin-page{
  --pm-ink:#0f1720; --pm-ink-2:#3a4250; --pm-ink-3:#677180; --pm-ink-4:#8b94a3;
  --pm-line:#eef1f6; --pm-track:#eef2f8; --pm-accent:#1a56b8;
  --pm-r:#c62f3a; --pm-r-soft:#fdeaec; --pm-d:#1f5fbf; --pm-d-soft:#e6efff;
  --pm-up:#0d8050; --pm-down:#c42b3e;
}
html[data-fs-theme="dark"] .pol-page, html[data-fs-theme="dark"] .fin-page{
  --pm-ink:#e2e9f1; --pm-ink-2:#c3cdd9; --pm-ink-3:#93a3b5; --pm-ink-4:#73839a;
  --pm-line:#1d2734; --pm-track:#212c3a; --pm-accent:#79b8ff;
  --pm-r:#ff6b77; --pm-r-soft:rgba(255,107,119,.14); --pm-d:#6ea8ff; --pm-d-soft:rgba(110,168,255,.14);
  --pm-up:#3ddc97; --pm-down:#ff7a85;
}
.pm-list{ list-style:none; padding:0; margin:0; }
.pm-market{ padding:12px 0; border-bottom:1px solid var(--pm-line); }
.pm-market:first-child{ padding-top:2px; }
.pm-market:last-child{ border-bottom:0; padding-bottom:0; }
.pm-head{ display:flex; gap:8px; align-items:flex-start; justify-content:space-between; margin-bottom:6px; }
.pm-title{ font-size:14.5px; font-weight:650; color:var(--pm-ink); text-decoration:none; line-height:1.35; }
.pm-title:hover{ color:var(--pm-accent); text-decoration:underline; }
.pm-src{ flex-shrink:0; font-size:11px; font-weight:700; padding:2px 7px; border-radius:6px; background:var(--pm-track); color:var(--pm-ink-2); white-space:nowrap; }
.pm-src-kalshi{ background:#e6f6ef; color:#0b7a50; }
.pm-src-poly{ background:#e8efff; color:#2453c8; }
.pm-src-pi{ background:#f3ecff; color:#6b3fc0; }
.pm-outs{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; }
.pm-out{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) 44px 34px; gap:8px; align-items:center; font-size:13.5px; }
.pm-label{ color:var(--pm-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pm-bar{ height:8px; border-radius:999px; background:var(--pm-track); overflow:hidden; }
.pm-bar span{ display:block; height:100%; background:var(--pm-accent); border-radius:999px; }
.pm-side-r .pm-bar span{ background:var(--pm-r); }
.pm-side-d .pm-bar span{ background:var(--pm-d); }
.pm-p{ font-weight:750; color:var(--pm-ink); text-align:right; }
.pm-d{ font-size:11px; font-weight:700; white-space:nowrap; }
.pm-up{ color:var(--pm-up); }
.pm-down{ color:var(--pm-down); }
.pm-more, .pm-ladder-note{ font-size:12px; color:var(--pm-ink-3); }
.pm-meta{ font-size:12px; color:var(--pm-ink-3); margin-top:5px; }
.pm-note{ font-size:12px; color:var(--pm-ink-4); margin:10px 2px 0; line-height:1.5; }
.pm-trend{ width:100%; max-width:320px; height:36px; display:block; margin-top:6px; }
.pm-trend path{ fill:none; stroke:var(--pm-accent); stroke-width:2; vector-effect:non-scaling-stroke; }
.pm-compact .pm-out{ grid-template-columns:minmax(0,1.4fr) minmax(40px,.8fr) 40px 30px; font-size:13px; }
.pm-chip{ display:inline-block; font-size:12.5px; padding:2px 8px; border-radius:999px; background:var(--pm-track); color:var(--pm-ink-2); white-space:nowrap; }
.pm-chip.pm-side-r{ background:var(--pm-r-soft); color:var(--pm-r); }
.pm-chip.pm-side-d{ background:var(--pm-d-soft); color:var(--pm-d); }
.pm-chip-src{ font-size:11px; color:var(--pm-ink-4); white-space:nowrap; }
.pm-races .pol-chip{ margin:2px 12px 2px 0; }
html[data-fs-theme="dark"] .pm-src-kalshi{ background:rgba(61,220,151,.12); color:#3ddc97; }
html[data-fs-theme="dark"] .pm-src-poly{ background:rgba(121,184,255,.13); color:#9cc9ff; }
html[data-fs-theme="dark"] .pm-src-pi{ background:rgba(177,151,252,.14); color:#b197fc; }
