/* ============================================================
   Alpha Finance v2: Hyperliquid Whale Tracker (/hyperliquid-whale-tracker/)
   Loaded after rwaperps.css, whose cards, chips, chart frame and table it
   reuses. Only the bias bars, the two side lists, the side badges and the
   ladder frame live here.
   ============================================================ */

.wh-ini { font-family: var(--mono); font-size: 8px; font-weight: 600; letter-spacing: 0.02em; color: var(--text-2); --c: #6b727c; }
body.whl .up { color: var(--pos-text); }
body.whl .down { color: var(--neg-text); }
body.whl .warm { color: #c9744f; }

/* ---------- the top band: every row one line, fixed heights, so the three
   cards end together with no dead space ---------- */
body.whl .rp-ov { align-items: stretch; }
body.whl .rp-side { grid-template-rows: 1fr 1fr; }
body.whl .rp-mapcard .lsr-card-body, body.whl .rp-side .lsr-card-body { padding: 8px 16px; overflow: hidden; }

/* column heads over each list, on the same grid as the rows */
.wh-cols { display: grid; align-items: center; column-gap: 8px; padding: 2px 0 6px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.wh-cols span { overflow: hidden; text-overflow: ellipsis; }
.wh-cols span:last-child, .wh-cols span:nth-last-child(2) { text-align: right; }
.wh-cols-bias { grid-template-columns: 86px 40px minmax(0, 1fr) 68px 64px; }
.wh-cols-bias .wh-key { margin-right: 8px; text-transform: none; letter-spacing: 0.04em; font-style: normal; }
.wh-cols-bias .wh-key b { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.wh-cols-bias .wh-key .is-long { background: var(--pos); }
.wh-cols-bias .wh-key .is-short { background: var(--neg); }
.wh-cols-top { grid-template-columns: 94px minmax(0, 1fr) 64px 56px; }
.wh-cols-mv { grid-template-columns: 48px 86px minmax(0, 1fr) 58px 26px; }
.wh-cols-mv span:last-child { text-align: right; }

/* bias bars: one row per coin, long then short */
.wh-bias { list-style: none; margin: 0; padding: 0; }
.wh-bias li + li { border-top: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.wh-bias li button {
  display: grid; grid-template-columns: 18px 58px 40px minmax(0, 1fr) 68px 64px; align-items: center; column-gap: 10px;
  width: 100%; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 5px; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer;
  transition: background 0.12s;
}
.wh-bias li button:hover, .wh-bias li button[aria-pressed="true"] { background: var(--panel-2); }
.wh-bias li button[aria-pressed="true"] b { color: var(--lime); }
.wh-bias li b { font-size: 13px; font-weight: 600; color: var(--text); }
.wh-bias li small { font-family: var(--mono); font-size: 9.5px; color: var(--muted); white-space: nowrap; }
.wh-bias li .rp-logo, .wh-bias li .rp-chip { margin: 0; }
.wh-bias li .bar { display: flex; height: 8px; border-radius: 2px; overflow: hidden; }
.wh-bias li .bar i { display: block; height: 100%; }
.wh-bias li .bar .is-long { background: var(--pos); }
.wh-bias li .bar .is-short { background: var(--neg); }
.wh-bias li .v, .wh-bias li .p { font-family: var(--mono); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; color: var(--text); }
.wh-bias li .p { color: var(--muted); }
.wh-key { display: inline-flex; align-items: center; gap: 5px; margin-right: 12px; }
.wh-key i { width: 9px; height: 9px; border-radius: 2px; }
.wh-key .is-long { background: var(--pos); }
.wh-key .is-short { background: var(--neg); }

/* the side lists: largest whales, latest moves */
.wh-list { list-style: none; margin: 0; padding: 0; }
.wh-list li + li { border-top: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.wh-list li a {
  display: grid; grid-template-columns: 94px minmax(0, 1fr) 64px 56px; align-items: center; column-gap: 8px;
  width: 100%; height: 40px; margin: 0; padding: 0; border-radius: 5px; color: inherit; text-decoration: none;
  transition: background 0.12s;
}
.wh-list li a:hover { background: var(--panel-2); }
.wh-list li b { font-family: var(--mono); font-size: 11.5px; font-weight: 600; color: var(--text); white-space: nowrap; }
.wh-list li small { font-size: 11px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wh-alerts li small { font-family: var(--mono); font-size: 9.5px; color: var(--muted); }
.wh-list li em { font-style: normal; font-weight: 500; }
.wh-list li em.long { color: var(--pos-text); }
.wh-list li em.short { color: var(--neg-text); }
.wh-list li b em { font-family: var(--sans); font-weight: 500; font-size: 11.5px; margin-left: 5px; }
.wh-list li .v, .wh-list li .c, .wh-list li .t { font-family: var(--mono); font-size: 11.5px; font-variant-numeric: tabular-nums; text-align: right; color: var(--text); }
.wh-list li .t { color: var(--muted); }
.wh-list li.none { padding: 12px 0; font-family: var(--mono); font-size: 11px; color: var(--muted); }
.wh-alerts li a { grid-template-columns: 48px 86px minmax(0, 1fr) 58px 26px; }
.wh-alerts li .tag { display: inline-flex; align-items: center; justify-content: center; height: 20px; border-radius: 4px; font-family: var(--mono); font-size: 9px; font-style: normal; letter-spacing: 0.06em; text-transform: uppercase; }
.wh-alerts li .tag.is-open { color: var(--pos-text); background: color-mix(in srgb, var(--pos) 16%, transparent); }
.wh-alerts li .tag.is-close { color: var(--text-2); background: var(--panel-2); }

/* ---------- the table: fifty rows a page ---------- */
/* the pager under the table is .tbl-pager, shared, in alpha.css */

.wh-side { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-2); }
.wh-side::before { content: ""; width: 7px; height: 7px; border-radius: 2px; }
.wh-side.long::before { background: var(--pos); }
.wh-side.short::before { background: var(--neg); }
body.whl .frates td.wh-addr a { font-family: var(--mono); font-size: 11.5px; color: var(--text-2); text-decoration: none; border-bottom: 1px solid var(--line-2); }
body.whl .frates td.wh-addr a:hover { color: var(--lime); border-bottom-color: var(--lime); }
body.whl .frates td.px small { display: block; margin-top: 2px; font-size: 10px; font-weight: 400; color: var(--muted); }

@media (max-width: 1400px) {
  body.whl .rp-ov { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .wh-alerts li small .at, .wh-cols-mv .at { display: none; }
}
@media (max-width: 1080px) {
  body.whl .rp-ov { grid-template-columns: minmax(0, 1fr); }
  body.whl .rp-side { grid-template-rows: none; }
}
@media (max-width: 760px) {
  .wh-bias li button { grid-template-columns: 18px 52px minmax(0, 1fr) 62px; }
  .wh-bias li small, .wh-bias li .p { display: none; }
  .wh-list li a, .wh-cols-top { grid-template-columns: 94px minmax(0, 1fr) 64px; }
  .wh-list li .c, .wh-alerts li .t, .wh-cols-top span:last-child, .wh-cols-mv span:last-child { display: none; }
  .wh-alerts li a, .wh-cols-mv { grid-template-columns: 48px 86px minmax(0, 1fr) 56px; }
}
