/* tradinghub.cc — live trade tape + liquidations sidebar (Crypto terminal panel) */

.live-term{
  --live-side-w: 300px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 6px var(--live-side-w);
  gap:14px;
  align-items:start;
  min-height:640px;
}
@media (max-width:980px){
  .live-term{ grid-template-columns:1fr; min-height:0; }
  .live-term__gutter{ display:none; }
}

/* ---------- resizable sidebar gutter (drag to resize, remembered) ---------- */
.live-term__gutter{
  align-self:stretch;
  width:6px;
  margin:0 -3px;
  cursor:col-resize;
  position:relative;
  z-index:3;
  background:transparent;
}
.live-term__gutter::after{
  content:''; position:absolute; top:0; bottom:0; left:2px; width:1px;
  background:var(--line);
}
.live-term__gutter:hover::after,
.live-term__gutter--active::after{ left:1px; width:3px; background:var(--signal); }
.live-term--fullscreen .live-term__gutter{ align-self:stretch; }

/* ---------- sidebar panel drag-to-reorder ---------- */
.panel-drag-handle{
  flex:none; color:var(--mute-dim); font-size:13px; line-height:1;
  margin-right:2px; user-select:none;
  cursor:grab;
}
.panel-drag-handle:active{ cursor:grabbing; }
.live-term__side .widget-card--drag-ghost{ opacity:.35; }
.live-term__side .widget-card--drag-over{ box-shadow:inset 0 2px 0 var(--signal); }

.live-term__main{
  min-width:0;
  display:flex; flex-direction:column;
  background:#0B0E14;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}

/* ---------- asset selector ---------- */
.asset-select{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  padding:10px 12px;
  border-bottom:1px solid var(--line-soft);
  background:#0D1017;
}
.asset-pill{
  font-family:var(--font-mono);
  font-size:12px; font-weight:600;
  color:var(--mute);
  background:transparent;
  border:1px solid var(--line);
  border-radius:20px;
  padding:5px 14px;
  cursor:pointer;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.asset-pill:hover{ color:var(--ink); border-color:var(--mute-dim); }
.asset-pill--active{
  color:#0A0B0D;
  background:var(--signal);
  border-color:var(--signal);
}
.asset-select__status{
  margin-left:auto;
  display:flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px; color:var(--mute-dim);
  text-transform:uppercase; letter-spacing:.05em;
}

/* ---------- exchange toggle chips ---------- */
.exch-select{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  padding:8px 12px;
  border-bottom:1px solid var(--line-soft);
  background:#0A0D13;
}
.exch-pill{
  display:flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--mute-dim);
  background:transparent;
  border:1px solid var(--line);
  border-radius:16px;
  padding:4px 10px 4px 8px;
  cursor:pointer;
  opacity:.55;
  transition:opacity .15s ease, border-color .15s ease, color .15s ease;
}
.exch-pill:hover{ opacity:.8; }
.exch-pill--active{ opacity:1; color:var(--ink); border-color:var(--mute-dim); }
.exch-pill__dot{ width:7px; height:7px; border-radius:50%; flex:none; }
.exch-pill__dot--binance{ background:var(--signal); }
.exch-pill__dot--bybit{ background:#FF7A1A; }
.exch-pill__dot--okx{ background:var(--violet); }

/* ---------- Fáza 2: tape toolbar (font size, stored rows, pause, clear, fullscreen) ---------- */
.tape-toolbar{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:7px 12px;
  border-bottom:1px solid var(--line-soft);
  background:#0A0D13;
}
.tape-toolbar__group{ display:flex; align-items:center; gap:6px; }
.tape-toolbar__group--right{ margin-left:auto; gap:8px; }
.tape-toolbar__label{
  font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--mute-dim);
}
.tape-toolbar__select{
  font-family:var(--font-mono); font-size:11px;
  background:#0D1017; color:var(--ink);
  border:1px solid var(--line); border-radius:6px;
  padding:3px 6px; cursor:pointer;
}
.toolbar-btn{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--mute);
  background:transparent;
  border:1px solid var(--line);
  border-radius:6px;
  padding:4px 9px;
  cursor:pointer;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.toolbar-btn:hover{ color:var(--ink); border-color:var(--mute-dim); }
.toolbar-btn:disabled{ opacity:.35; cursor:default; }
.toolbar-btn:disabled:hover{ color:var(--mute); border-color:var(--line); }
.toolbar-btn--sq{ padding:4px 8px; }
.toolbar-btn--active{ color:#0A0B0D; background:var(--signal); border-color:var(--signal); }
.toolbar-btn--active:hover{ color:#0A0B0D; }
.toolbar-btn__icon{ font-size:12px; line-height:1; }
@media (max-width:640px){
  .toolbar-btn__label{ display:none; }
  .toolbar-btn{ padding:5px 8px; }
}

/* live-term--paused: subtle cue that the tape is frozen while connections stay live */
.live-term--paused .live-tape{ opacity:.6; }

/* fullscreen mode: fill the viewport and let the tape column claim the extra height */
.live-term--fullscreen{
  background:#0B0E14;
  padding:12px;
  height:100vh;
}
.live-term--fullscreen .live-term__main{ min-height:0; height:100%; }
:fullscreen.live-term{ min-height:100vh; }

/* ---------- Fáza 3: sound alerts popover ---------- */
.sound-control{ position:relative; }
.sound-panel{
  position:absolute; top:calc(100% + 8px); right:0; z-index:20;
  width:240px;
  background:#0D1017; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  padding:12px;
  font-family:var(--font-mono);
}
.sound-panel__head{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-bottom:10px; padding-bottom:8px;
  border-bottom:1px solid var(--line-soft);
}
.sound-panel__head strong{ font-size:12px; color:var(--ink); }
.sound-panel__master{ display:flex; align-items:center; gap:5px; font-size:10.5px; color:var(--mute); cursor:pointer; }
.sound-panel__profile-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:2px 0 10px; margin-bottom:6px;
  border-bottom:1px solid var(--line-soft);
}
.sound-panel__profile-row label{ font-size:11px; color:var(--mute); flex:none; }
.sound-panel__profile-row select{
  flex:1; font-family:var(--font-mono); font-size:11px;
  background:#0A0D13; color:var(--ink);
  border:1px solid var(--line); border-radius:5px;
  padding:3px 6px; cursor:pointer;
}
.sound-panel__volume-row{
  display:flex; align-items:center; gap:8px;
  padding:2px 0 10px;
  margin-bottom:6px;
  border-bottom:1px solid var(--line-soft);
}
.sound-panel__volume-row label{ font-size:11px; color:var(--mute); flex:none; }
.sound-panel__volume-row input[type="range"]{
  flex:1; accent-color:var(--signal); cursor:pointer;
}
.sound-panel__volume-value{
  font-size:10.5px; color:var(--mute-dim); flex:none; min-width:32px; text-align:right;
}
.sound-panel__row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:5px 0;
}
.sound-panel__profile{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink); cursor:pointer; }
.sound-panel__profile input{ accent-color:var(--signal); }
.sound-panel__row select{
  font-family:var(--font-mono); font-size:10.5px;
  background:#0A0D13; color:var(--ink);
  border:1px solid var(--line); border-radius:5px;
  padding:2px 5px; cursor:pointer;
}
.sound-panel__test{
  width:100%; margin-top:8px;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--ink); background:var(--panel, #12151C);
  border:1px solid var(--line); border-radius:6px;
  padding:6px; cursor:pointer;
}
.sound-panel__test:hover{ border-color:var(--mute-dim); }
.sound-panel__hint{
  margin:8px 0 0; font-size:10px; line-height:1.4; color:var(--mute-dim);
}

/* ---------- Prompt 8: advanced filters popover ---------- */
.filter-control{ position:relative; }
.filter-panel{
  position:absolute; top:calc(100% + 8px); left:0; z-index:20;
  width:200px;
  background:#0D1017; border:1px solid var(--line); border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  padding:12px;
  font-family:var(--font-mono);
}
.filter-panel__head{
  margin-bottom:10px; padding-bottom:8px;
  border-bottom:1px solid var(--line-soft);
}
.filter-panel__head strong{ font-size:12px; color:var(--ink); }
.filter-panel__group{ padding:6px 0; border-bottom:1px solid var(--line-soft); }
.filter-panel__group:last-child{ border-bottom:none; padding-bottom:0; }
.filter-panel__group-label{
  display:block; font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--mute-dim); margin-bottom:5px;
}
.filter-panel__radio, .filter-panel__checkbox{
  display:flex; align-items:center; gap:6px;
  font-size:11.5px; color:var(--ink); cursor:pointer;
  padding:2px 0;
}
.filter-panel__radio input, .filter-panel__checkbox input{ accent-color:var(--signal); }


/* ---------- Fáza 3: recent-trades heatmap strip ---------- */
.tape-heatmap{
  display:flex; align-items:stretch; gap:1px;
  height:20px;
  padding:0 12px;
  background:#0A0D13;
  border-bottom:1px solid var(--line-soft);
}
.tape-heatmap__cell{ flex:1 1 0; min-width:2px; border-radius:1px; margin:3px 0; }
.tape-heatmap__cell--buy{ background:var(--pulse); }
.tape-heatmap__cell--sell{ background:var(--danger); }
.tape-heatmap__cell--tier1{ opacity:.35; }
.tape-heatmap__cell--tier2{ opacity:.6; }
.tape-heatmap__cell--tier3{ opacity:.85; }
.tape-heatmap__cell--tier4{ opacity:1; }

/* ---------- Fáza 3: biggest-trade-in-5m highlight ---------- */
.tape-row--biggest{
  outline:1px solid var(--signal);
  outline-offset:-1px;
  box-shadow:inset 0 0 0 1px rgba(245,166,35,.25);
}
.tape-row__crown{ flex:none; font-size:11px; line-height:1; margin-right:-4px; }

/* ---------- Fáza 3: order flow (buy/sell ratio) card ---------- */
.orderflow-bar{
  display:flex; height:10px; border-radius:5px; overflow:hidden;
  background:var(--line-soft);
}
.orderflow-bar__buy{ background:var(--pulse); transition:width .3s ease; }
.orderflow-bar__sell{ background:var(--danger); transition:width .3s ease; }
.orderflow-legend{
  display:flex; justify-content:space-between;
  margin-top:8px;
  font-family:var(--font-mono); font-size:12px;
}
.orderflow-legend__buy{ color:var(--pulse); }
.orderflow-legend__sell{ color:var(--danger); }
.orderflow-legend b{ font-weight:700; }
.orderflow-sub{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:10px; padding-top:8px;
  border-top:1px solid var(--line-soft);
  font-family:var(--font-mono); font-size:11px; color:var(--mute-dim);
}
.orderflow-sub span:last-child{ font-weight:700; color:var(--ink); }
.orderflow-60s{
  margin-top:10px; padding-top:10px;
  border-top:1px solid var(--line-soft);
}
.orderflow-60s__head{
  font-size:10px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--mute-dim); margin-bottom:8px;
}
.orderflow-60s-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px 12px;
}
.orderflow-60s-item{
  display:flex; flex-direction:column; gap:2px;
  font-family:var(--font-mono);
}
.orderflow-60s-item span{ font-size:10px; color:var(--mute-dim); }
.orderflow-60s-item b{ font-size:13px; font-weight:700; color:var(--ink); }

/* ---------- Fáza 3: market stats card (volume / OI / funding / long-short) ---------- */
.mstat-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:6px 0;
  font-family:var(--font-mono); font-size:12px;
  border-bottom:1px solid var(--line-soft);
}
.mstat-row:last-child{ border-bottom:none; }
.mstat-label{ color:var(--mute-dim); }
.mstat-value{ color:var(--ink); font-weight:600; }

/* ---------- Prompt 9: Market Pulse card ---------- */
.tag--pos{ color:var(--pulse); border-color:rgba(41,217,160,.35); background:rgba(41,217,160,.08); }
.tag--neg{ color:var(--danger); border-color:rgba(229,72,77,.35); background:rgba(229,72,77,.08); }

/* ---------- Prompt 10: Order Flow Score card ---------- */
.ofscore-value{
  font-family:var(--font-mono); font-size:32px; font-weight:700;
  text-align:center; color:var(--ink); line-height:1.1;
}
.ofscore-value.pos{ color:var(--pulse); }
.ofscore-value.neg{ color:var(--danger); }
.ofscore-label{
  text-align:center; font-size:11px; color:var(--mute-dim);
  text-transform:uppercase; letter-spacing:.04em;
  margin-top:2px; margin-bottom:12px;
}
.ofscore-gauge{ margin-bottom:4px; }
.ofscore-gauge__track{
  position:relative; height:8px; border-radius:4px;
  background:var(--line-soft); overflow:hidden;
}
.ofscore-gauge__zero{
  position:absolute; left:50%; top:-2px; bottom:-2px; width:1px;
  background:var(--line);
}
.ofscore-gauge__fill{ position:absolute; top:0; bottom:0; border-radius:4px; }
.ofscore-gauge__fill--pos{ background:var(--pulse); }
.ofscore-gauge__fill--neg{ background:var(--danger); }
.ofscore-gauge__scale{
  display:flex; justify-content:space-between;
  font-family:var(--font-mono); font-size:9px; color:var(--mute-dim);
  margin-top:4px; margin-bottom:10px;
}

.tape-row__exch, .liq-sidebar__exch, .whale-exch{
  flex:none;
  font-family:var(--font-mono); font-size:9px; font-weight:700;
  text-align:center; border-radius:4px; padding:2px 4px;
  color:#0A0B0D;
}
.tape-row__exch{ width:28px; }
.liq-sidebar__exch{ width:26px; }
.whale-exch{ width:26px; }
.tape-row__exch--binance, .liq-sidebar__exch--binance, .whale-exch--binance{ background:var(--signal); }
.tape-row__exch--bybit, .liq-sidebar__exch--bybit, .whale-exch--bybit{ background:#FF7A1A; }
.tape-row__exch--okx, .liq-sidebar__exch--okx, .whale-exch--okx{ background:var(--violet); }

/* ---------- trade tape rows ---------- */
.live-tape{
  flex:1; min-height:0;
  overflow-y:auto;
  padding:4px 0;
}
.live-tape__empty{
  padding:24px 16px; text-align:center;
  color:var(--mute-dim); font-size:13px;
}
.tape-row{
  display:flex; align-items:center; gap:10px;
  padding:5px 14px;
  font-family:var(--font-mono); font-size:var(--tape-fs, 12px);
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.tape-row--buy{ background:rgba(41,217,160,.06); }
.tape-row--sell{ background:rgba(229,72,77,.06); }
.tape-row.tape-tier-2{ background-color:rgba(41,217,160,.12); }
.tape-row.tape-tier-2.tape-row--sell{ background-color:rgba(229,72,77,.12); }
.tape-row.tape-tier-3{ font-weight:700; padding-top:7px; padding-bottom:7px; background-color:rgba(41,217,160,.2); }
.tape-row.tape-tier-3.tape-row--sell{ background-color:rgba(229,72,77,.2); }
.tape-row.tape-tier-4{ font-weight:800; padding-top:9px; padding-bottom:9px; background-color:rgba(41,217,160,.32); }
.tape-row.tape-tier-4.tape-row--sell{ background-color:rgba(229,72,77,.32); }

.tape-row__side{ flex:none; width:12px; text-align:center; font-size:10px; }
.tape-row--buy .tape-row__side{ color:var(--pulse); }
.tape-row--sell .tape-row__side{ color:var(--danger); }
.tape-row__price{ flex:none; width:90px; color:var(--ink); font-variant-numeric:tabular-nums; }
.tape-row--buy .tape-row__price{ color:var(--pulse); }
.tape-row--sell .tape-row__price{ color:var(--danger); }
.tape-row__qty{ flex:1; min-width:0; color:var(--mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tape-row__value{ flex:none; width:72px; text-align:right; color:var(--ink); font-weight:600; }
.tape-row__time{ flex:none; width:60px; text-align:right; color:var(--mute-dim); font-size:11px; }
.tape-row__cluster{
  flex:none; font-size:10px; font-weight:700;
  color:#0A0B0D; background:var(--signal);
  border-radius:999px; padding:1px 6px; line-height:1.4;
}
.tape-row--sell .tape-row__cluster{ background:var(--danger); color:#fff; }

/* ---------- watchlist ---------- */
.watchlist-card .widget-card__head{ gap:8px; }
.watchlist-add{ display:flex; align-items:center; gap:6px; margin-left:auto; }
.watchlist-add select{
  font-family:var(--font-mono); font-size:11px;
  background:#0A0D13; color:var(--ink);
  border:1px solid var(--line); border-radius:6px;
  padding:4px 6px; max-width:110px;
}
.watchlist-add button{
  font-family:var(--font-mono); font-size:14px; font-weight:700; line-height:1;
  color:#0A0B0D; background:var(--signal); border:none; border-radius:6px;
  width:24px; height:24px; cursor:pointer;
}
.watchlist-add button:disabled{ opacity:.4; cursor:default; }

.watchlist-list{ list-style:none; margin:0; padding:0; }
.watchlist-empty{ padding:14px 8px; text-align:center; color:var(--mute-dim); font-size:12px; list-style:none; }
.watchlist-row{
  display:flex; align-items:center; gap:8px;
  padding:7px 6px;
  font-family:var(--font-mono); font-size:12px;
  border-bottom:1px solid var(--line-soft);
}
.watchlist-row--tappable{ cursor:pointer; }
.watchlist-row--tappable:hover{ background:rgba(255,255,255,0.03); }
.watchlist-sym{ flex:none; width:40px; font-weight:700; color:var(--ink); }
.watchlist-price{ flex:1; color:var(--ink); }
.watchlist-chg{ flex:none; width:60px; text-align:right; color:var(--mute-dim); }
.watchlist-chg--up{ color:var(--pulse); }
.watchlist-chg--down{ color:var(--danger); }
.watchlist-remove{
  flex:none; width:18px; height:18px; line-height:1;
  background:transparent; border:none; color:var(--mute-dim);
  cursor:pointer; font-size:14px;
}
.watchlist-remove:hover{ color:var(--danger); }

/* ---------- liquidations sidebar ---------- */
.live-term__side{ min-width:0; display:flex; flex-direction:column; gap:14px; }
.liq-sidebar{ display:flex; flex-direction:column; }
.liq-sidebar .widget-card__body{ display:flex; flex-direction:column; min-height:0; flex:1; }
.liq-sidebar__src{
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  color:var(--mute-dim); text-transform:uppercase; letter-spacing:.05em;
  margin-left:8px;
}
.liq-sidebar__head-row{
  display:flex; align-items:center; gap:6px;
  padding:4px 6px 8px;
  font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--mute-dim);
  border-bottom:1px solid var(--line-soft);
}
.liq-sidebar__head-row span:nth-child(1){ flex:none; width:22px; }
.liq-sidebar__head-row span:nth-child(2){ flex:none; width:44px; }
.liq-sidebar__head-row span:nth-child(3){ flex:none; width:44px; }
.liq-sidebar__head-row span:nth-child(4){ flex:1; }
.liq-sidebar__head-row span:nth-child(5){ flex:none; width:56px; }
.liq-sidebar__head-row .ta-r{ text-align:right; }

.liq-sidebar__list{
  list-style:none; margin:0; padding:0;
  flex:1; min-height:0; overflow-y:auto;
  max-height:400px;
}
.liq-sidebar__empty{
  padding:20px 8px; text-align:center;
  color:var(--mute-dim); font-size:12px; list-style:none;
}
.liq-sidebar__row{
  display:flex; align-items:center; gap:6px;
  padding:6px;
  font-family:var(--font-mono); font-size:11.5px;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.liq-sidebar__row--long{ background:rgba(229,72,77,.10); }
.liq-sidebar__row--short{ background:rgba(41,217,160,.10); }
.liq-sidebar__sym{ flex:none; width:44px; font-weight:700; color:var(--ink); }
.liq-sidebar__side{ flex:none; width:44px; font-size:10.5px; }
.liq-sidebar__row--long .liq-sidebar__side{ color:var(--danger); }
.liq-sidebar__row--short .liq-sidebar__side{ color:var(--pulse); }
.liq-sidebar__usd{ flex:1; text-align:right; font-weight:700; color:var(--ink); }
.liq-sidebar__time{ flex:none; width:56px; text-align:right; color:var(--mute-dim); font-size:10.5px; }

/* thin scrollbars to match the rest of the terminal */
.live-tape, .liq-sidebar__list{ scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.live-tape::-webkit-scrollbar, .liq-sidebar__list::-webkit-scrollbar{ width:6px; }
.live-tape::-webkit-scrollbar-thumb, .liq-sidebar__list::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }

/* ---------- Prompt 11: Whale Tracker card ---------- */
.whale-tabs{ display:flex; gap:6px; margin-bottom:8px; }
.whale-tab{
  flex:1; padding:5px 4px;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--mute-dim); background:var(--void);
  border:1px solid var(--line); border-radius:6px;
  cursor:pointer; transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.whale-tab:hover{ color:var(--ink); }
.whale-tab--active{ color:var(--ink); border-color:var(--signal); background:rgba(255,255,255,0.04); }
.whale-head-row{
  display:flex; align-items:center; gap:6px;
  padding:4px 6px 8px;
  font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--mute-dim);
  border-bottom:1px solid var(--line-soft);
}
.whale-head-row span:nth-child(1){ flex:none; width:26px; }
.whale-head-row span:nth-child(2){ flex:none; width:48px; }
.whale-head-row span:nth-child(3){ flex:1; }
.whale-head-row span:nth-child(4){ flex:none; width:56px; }
.whale-head-row .ta-r{ text-align:right; }
.whale-list{
  list-style:none; margin:0; padding:0;
  max-height:340px; overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.whale-list::-webkit-scrollbar{ width:6px; }
.whale-list::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
.whale-empty{
  padding:20px 8px; text-align:center;
  color:var(--mute-dim); font-size:12px; list-style:none;
}
.whale-row{
  display:flex; align-items:center; gap:6px;
  padding:6px;
  font-family:var(--font-mono); font-size:11.5px;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.whale-row--buy{ background:rgba(41,217,160,.10); }
.whale-row--sell{ background:rgba(229,72,77,.10); }
.whale-side{ flex:none; width:48px; font-size:10.5px; }
.whale-row--buy .whale-side{ color:var(--pulse); }
.whale-row--sell .whale-side{ color:var(--danger); }
.whale-value{ flex:1; text-align:right; font-weight:700; color:var(--ink); }
.whale-time{ flex:none; width:56px; text-align:right; color:var(--mute-dim); font-size:10.5px; }
