/* LP Terminal — scanner page (spec roadmap 0). Dense mono tables, Revert-grade.
   Reuses .chip/.pos/.neg/.card/.sub/.btn-primary from app.css. */

.scanner-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.scanner-toolbar .sub{margin:0}

.scanner-section{margin-bottom:26px}
.sec-hdr{font:600 12px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.4px;
  color:var(--dim);margin-bottom:10px;display:flex;align-items:center;gap:6px;cursor:default}
.sec-hdr#discarded-hdr{cursor:pointer;user-select:none}
.sec-toggle{display:inline-block;width:12px}
.sec-count{color:var(--dim);font-weight:500;text-transform:none;letter-spacing:0}

/* ranked + tiers + discarded tables all dense mono */
table.ranked,table.tiers,table.discarded{width:100%;border-collapse:collapse;
  background:var(--card);border:1px solid var(--line);border-radius:10px;
  font:12px ui-monospace,Menlo,monospace}
table.ranked th,table.tiers th,table.discarded th{font-size:9.5px;color:var(--dim);
  text-transform:uppercase;letter-spacing:.3px;text-align:right;padding:7px 8px;
  border-bottom:1px solid var(--line);font-weight:500;white-space:nowrap}
table.ranked td,table.tiers td,table.discarded td{padding:6px 8px;text-align:right;
  border-bottom:1px solid var(--line);white-space:nowrap}
table.ranked th:nth-child(2),table.ranked td:nth-child(2),
table.discarded th:first-child,table.discarded td:first-child,
table.tiers th:first-child,table.tiers td:first-child{text-align:left;white-space:normal}
table.ranked tr:last-child>td,table.discarded tbody tr:last-child>td{border-bottom:none}

tr.rank-row{cursor:pointer}
tr.rank-row:hover{background:rgba(255,255,255,.03)}
tr.rank-row td{border-bottom:none}
tr.exp-row td{border-bottom:1px solid var(--line);padding:0;background:rgba(0,0,0,.15)}
tr.exp-row.hidden{display:none}
tr.exp-row .exp-body{padding:8px 10px 12px 30px}

.exp-cell{text-align:left}
.exp-btn{background:transparent;border:0;color:var(--dim);cursor:pointer;font:12px ui-monospace,Menlo,monospace;
  padding:2px 4px;margin-right:2px;border-radius:4px}
.exp-btn:hover{color:var(--tx);background:rgba(255,255,255,.06)}

.pair{font-weight:600}
.sub-fee{color:var(--dim);font-size:11px}

/* m5 volume: Piers's first-look number — visually prominent */
.m5col{font-size:13.5px}
.m5col b{color:#7ee787;font-weight:800}

.chips-cell{text-align:left;max-width:220px;white-space:normal}
.chip-loud{font-size:11px;padding:3px 10px;box-shadow:0 0 0 1px rgba(63,185,80,.35)}

.links{white-space:nowrap}
.lnk{display:inline-block;font:700 9.5px ui-monospace,Menlo,monospace;color:var(--dim);
  border:1px solid var(--line);border-radius:4px;padding:2px 5px;margin-left:4px;text-decoration:none}
.lnk:hover{color:var(--tx);border-color:var(--dim);text-decoration:none}

.yours{font-weight:700;color:var(--grn)}

/* fee-tier sub-rows (expansion + watchlist) */
.tname{text-align:left}
tr.tier-row{cursor:pointer}
tr.tier-row:hover{background:rgba(255,255,255,.04)}
tr.tier-row.best{background:rgba(63,185,80,.09)}
tr.tier-row.best:hover{background:rgba(63,185,80,.14)}
tr.tier-row.self{background:rgba(88,166,255,.06)}
tr.tier-row.self.best{background:rgba(63,185,80,.12)}
tr.tier-row.dead{opacity:.45}
tr.tier-row.dead:hover{opacity:.6}

/* discarded */
table.discarded .why{color:var(--dim);text-align:left;white-space:normal;max-width:220px;font-size:11px}

/* ---- GEM 💎 — THE loudest signal in the product, louder than PRIME ---- */
.gem-section{margin-top:2px}
.gem-hdr{color:var(--tx);font-size:14px;font-weight:800;letter-spacing:.5px;
  text-shadow:0 0 12px rgba(63,185,80,.55)}
.gem-hdr .sec-count{color:var(--dim);font-weight:600}

.gem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}

.gem-card{
  position:relative;cursor:pointer;border-radius:12px;padding:14px 16px;
  background:linear-gradient(160deg,rgba(63,185,80,.10),rgba(88,166,255,.06) 60%,var(--card));
  border:1px solid rgba(63,185,80,.55);
  box-shadow:0 0 0 1px rgba(63,185,80,.18),0 0 22px rgba(63,185,80,.28),0 0 46px rgba(88,166,255,.10);
  animation:gem-pulse 2.6s ease-in-out infinite;
}
.gem-card:hover{border-color:var(--grn);box-shadow:0 0 0 1px rgba(63,185,80,.35),0 0 30px rgba(63,185,80,.45),0 0 60px rgba(88,166,255,.18)}
@keyframes gem-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(63,185,80,.18),0 0 22px rgba(63,185,80,.28),0 0 46px rgba(88,166,255,.10)}
  50%{box-shadow:0 0 0 1px rgba(63,185,80,.32),0 0 34px rgba(63,185,80,.42),0 0 64px rgba(88,166,255,.18)}
}

.gem-card-hdr{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.gem-badge{font:800 12px ui-monospace,Menlo,monospace;letter-spacing:.3px;color:#7ee787;
  text-shadow:0 0 10px rgba(126,231,135,.7)}
.gem-pair{font:700 14px -apple-system,sans-serif;color:var(--tx)}

.gem-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px;
  font:12px ui-monospace,Menlo,monospace}
.gem-stat{display:flex;flex-direction:column;gap:1px}
.gem-stat-lbl{color:var(--dim);font-size:9.5px;text-transform:uppercase;letter-spacing:.3px}
.gem-stat-val{font-weight:700;color:var(--tx)}
.gem-m5{color:#7ee787;font-size:14px;font-weight:800}
.gem-yld{color:var(--grn)}
.gem-yours{color:var(--grn)}

/* GEM chip in ranked table + movers table: outshines PRIME's chip-loud */
.chip.c-gem{background:rgba(63,185,80,.14);color:#7ee787;border:1px solid rgba(63,185,80,.6)}
.chip-gem-loud{
  font-weight:800;box-shadow:0 0 0 1px rgba(63,185,80,.55),0 0 10px rgba(63,185,80,.55);
  animation:gem-chip-pulse 2.2s ease-in-out infinite;
}
@keyframes gem-chip-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(63,185,80,.4),0 0 6px rgba(63,185,80,.4)}
  50%{box-shadow:0 0 0 1px rgba(63,185,80,.7),0 0 14px rgba(63,185,80,.7)}
}

@media (prefers-reduced-motion:reduce){
  .gem-card,.chip-gem-loud{animation:none}
}

@media (max-width:900px){
  .gem-grid{grid-template-columns:1fr}
}

/* watchlist */
.watch-block{margin-bottom:18px}
.watch-block h4{font:600 12.5px -apple-system,sans-serif;margin-bottom:8px;color:var(--tx)}
.watch-tiers{overflow-x:auto}

/* loading skeleton */
.scanner-skel{display:flex;flex-direction:column;gap:6px}
.skel-row{height:30px;border-radius:6px;background:linear-gradient(90deg,var(--card) 25%,#1c2129 37%,var(--card) 63%);
  background-size:400% 100%;animation:skel-shimmer 1.4s ease infinite}
@keyframes skel-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}

.err.card{color:var(--red);border-color:#3d1d1f}

@media (max-width:900px){
  table.ranked,table.tiers,table.discarded{font-size:10.5px}
  table.ranked th,table.tiers th,table.discarded th,
  table.ranked td,table.tiers td,table.discarded td{padding:5px 5px}
  .chips-cell{max-width:140px}
}
