/* styles/predict.css — PREDICT page */

/* PREDICT has 3 content rows + footer — distribute evenly so candidate panels & movers
   get proper body height (timeline chart in R1 was otherwise eating all space). */
/* PREDICT has 4 working rows + 1 vital-signs footer strip. Explicit 5-row grid. */
.main--predict {
  grid-template-rows:
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(86px, 100px) !important;
}

/* prob bar */
.probbar { position: relative; height: 18px; background: rgba(255,255,255,.03); border-radius: 1.5px; overflow: hidden; }
.probbar--sm { height: 14px; }
.probbar__fill { height: 100%; }
.probbar__fill--up   { background: linear-gradient(90deg, rgba(52,211,153,.4), rgba(52,211,153,.8)); }
.probbar__fill--dn   { background: linear-gradient(90deg, rgba(248,113,113,.4), rgba(248,113,113,.8)); }
.probbar__fill--gold { background: linear-gradient(90deg, rgba(201,168,106,.4), rgba(212,164,87,.8)); }
.probbar__lbl { position: absolute; right: 5px; top: 0; line-height: 14px; font-family: var(--font-mono); font-size: 10px; font-weight: 700; mix-blend-mode: normal; }

/* headlines */
.hdl { display: flex; flex-direction: column; font-family: var(--font-mono); }
.hdl__hd, .hdl__row {
  display: grid;
  grid-template-columns: 1fr 120px 50px 56px 72px;
  gap: 12px;
  align-items: center;
  padding: 8px 14px;
}
.hdl__hd { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; background: rgba(0,0,0,.2); border-bottom: 1px solid rgba(255,255,255,.06); padding: 6px 14px; }
.hdl__row { border-bottom: 1px solid rgba(255,255,255,.04); font-size: 11.5px; }
.hdl__row:last-child { border-bottom: 0; }
.hdl__q { display: flex; gap: 8px; align-items: baseline; min-width: 0; }
.hdl__cat {
  font-size: 8.5px; letter-spacing: .12em; font-weight: 700;
  padding: 2px 4px; border: 1px solid currentColor; border-radius: 1.5px;
  flex-shrink: 0;
}
.cat-macro  { color: #8b9dc3; }
.cat-crypto { color: var(--gold); }
.cat-tech   { color: rgba(167,139,250,.9); }
.cat-poli   { color: rgba(248,113,113,.8); }
.hdl__txt { color: var(--txt-1); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hdl__d24 { text-align: right; font-weight: 600; font-size: 10.5px; }
.hdl__vol { text-align: right; color: var(--gold-soft); }
.hdl__plat { text-align: right; font-size: 10px; letter-spacing: .04em; }

/* candidate panels */
.cand { display: flex; flex-direction: column; gap: 6px; height: 100%; }
.cand__title { font-family: var(--font-mono); font-size: 11.5px; color: var(--txt-1); letter-spacing: .04em; }
.cand__sub { font-size: 9.5px; letter-spacing: .08em; }
.cand__list { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.cand__row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 11.5px; }
.cand__nm { color: var(--txt-1); font-weight: 600; }

/* simple list — crypto / macro */
.simple { display: flex; flex-direction: column; }
.simple__row {
  display: grid;
  grid-template-columns: 1fr 100px 48px 56px;
  gap: 10px;
  align-items: center;
  padding: 7px 12px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: var(--font-mono); font-size: 11.5px;
}
.simple__row:last-child { border-bottom: 0; }
.simple__q { color: var(--txt-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.simple__mvt { text-align: right; font-weight: 600; }
.simple__vol { text-align: right; }

/* movers */
.movers { display: flex; flex-direction: column; }
.movers__row {
  display: grid;
  grid-template-columns: 1fr 90px 56px 56px;
  gap: 10px;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: var(--font-mono); font-size: 11.5px;
}
.movers__row:last-child { border-bottom: 0; }
.movers__q { color: var(--txt-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.movers__delta { display: flex; align-items: center; gap: 6px; justify-content: flex-end; font-size: 10.5px; }
.movers__arrow { color: var(--txt-3); }
.movers__d24 { text-align: right; font-weight: 700; }
.movers__vol { text-align: right; }

/* timeline */
.tline { display: flex; flex-direction: column; gap: 6px; height: 100%; min-height: 0; }
.tline__hd { display: flex; justify-content: space-between; align-items: flex-start; }
.tline__lbl { font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; }
.tline__big { font-family: var(--font-serif-display); font-size: 34px; line-height: 1; letter-spacing: -.01em; }
.tline__chgs { display: flex; flex-direction: column; gap: 2px; font-size: 10px; text-align: right; color: var(--txt-3); letter-spacing: .04em; }
.tline__chart { flex: 1; min-height: 60px; }
.tline__axis { display: flex; justify-content: space-between; font-size: 9.5px; letter-spacing: .08em; }

/* platforms */
.plats { display: flex; flex-direction: column; gap: 6px; font-family: var(--font-mono); font-size: 11.5px; }
.plats__row { display: grid; grid-template-columns: 90px 1fr 56px 80px; gap: 10px; align-items: center; }
.plats__nm { color: var(--txt-1); font-weight: 600; }
.plats__track { height: 8px; background: rgba(255,255,255,.02); border-radius: 1.5px; overflow: hidden; }
.plats__bar { height: 100%; background: linear-gradient(90deg, var(--gold-soft), var(--gold)); box-shadow: 0 0 6px var(--gold-soft); }
.plats__vol { text-align: right; color: var(--gold-soft); }
.plats__mkts { text-align: right; font-size: 10px; }

@media (max-width: 820px) {
  .hdl__hd, .hdl__row { grid-template-columns: 1fr 90px 44px 50px; }
  .hdl__plat { display: none; }
}

/* ---------- Topic Markets duo (Crypto + Macro side-by-side in one panel) ---------- */
.topic2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; height: 100%; }
.topic2__col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.topic2__hd { display: flex; flex-direction: column; gap: 2px; padding-bottom: 6px; border-bottom: 1px solid rgba(201,165,92,0.10); }
.topic2__t { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.18em; color: var(--gold-bright); }
.topic2__sub { font-size: 9.5px; letter-spacing: 0.14em; }
.topic2__list { display: flex; flex-direction: column; gap: 2px; }

/* GMG_STANDARDS §5 mobile typography floor */
@media (max-width: 899px) {
  .probbar__lbl, .hdl__d24, .movers__prev, .movers__arrow, .movers__now,
  .plats__mkts, .hdl__cat, .topic2__sub,
  .pred-hdl__q, .pred-hdl__vol,
  .platforms__row .mute
  { font-size: 11px !important; line-height: 1.25 !important; }
  .probbar__pct, .hdl__yes, .movers__sym,
  .plats__nm, .topic2__t,
  .pred-hdl__t, .pred-hdl__pct
  { font-size: 13px !important; line-height: 1.3 !important; }
}
@media (max-width: 899px) {
  .poli2__sub, .tline__lbl,
  .predict .mute, .predict .up, .predict .dn { font-size: 11px !important; line-height: 1.25 !important; }
}
