/* LP Terminal — Crew Spotter page. READ-ONLY fleet/operator forensics view.
   Matches app.css tokens (--bg/--card/--line/--tx/--dim/--grn/--red/--amb/--blu/--pur). */

/* proving-window disclaimer — always on, top of page */
.cs-warn{background:linear-gradient(90deg,rgba(210,153,34,.14),rgba(210,153,34,.04));
  border:1px solid #3a2d10;border-left:3px solid var(--amb);border-radius:8px;
  padding:10px 14px;margin:10px 0 14px;font-size:11.5px;line-height:1.5;color:var(--tx)}
.cs-warn b{color:var(--amb)}
.cs-warn .cs-verdict{color:var(--dim);display:block;margin-top:4px;font-size:10.5px}

/* meta strip */
.cs-meta{display:flex;gap:20px;flex-wrap:wrap;align-items:center;color:var(--dim);font-size:11px;margin-bottom:12px}
.cs-meta b{color:var(--tx)}
.cs-mode{padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.cs-mode.live{background:#1b3022;color:var(--grn)}
.cs-mode.backtest{background:#21262d;color:var(--dim)}

/* sub-view segmented control */
.cs-seg{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.cs-seg button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--dim);
  font:600 12px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.4px;padding:9px 14px;cursor:pointer}
.cs-seg button:hover{color:var(--tx)}
.cs-seg button.active{color:var(--tx);border-bottom-color:var(--pur)}

/* ---- copyable address chip (full CA, click-to-copy) ---- */
.ca{font:11px ui-monospace,Menlo,monospace;color:var(--tx);background:#0f141b;border:1px solid var(--line);
  border-radius:5px;padding:2px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;user-select:all;
  word-break:break-all;line-height:1.5}
.ca:hover{border-color:var(--blu)}
.ca .ca-copy{color:var(--dim);font-size:10px;flex-shrink:0}
.ca.copied{border-color:var(--grn)}
.ca.copied .ca-copy{color:var(--grn)}
.ca.mono-short{word-break:normal}

/* tier + arm badges */
.cs-tier{font-size:13px;line-height:1}
.arm{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.2px}
.arm.distributor{background:#152a45;color:var(--blu);box-shadow:inset 0 0 0 1px rgba(88,166,255,.35)}
.arm.member{background:#21262d;color:var(--dim)}
.arm.funder{background:#3d1d1f;color:var(--red)}
.arm.hub{background:#21262d;color:var(--dim)}
.arm.launcher{background:#2b2140;color:var(--pur)}
.prov{font-size:10px;color:var(--dim)}

/* ================= LIVE FEED ================= */
.cs-feed{display:flex;flex-direction:column;gap:8px}
.cs-frow{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.cs-frow.strong{border-left:3px solid var(--red)}
.cs-frow.weak{border-left:3px solid var(--amb)}
.cs-frow .cs-fmain{min-width:0}
.cs-frow .cs-fhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.cs-sym{font:600 14px -apple-system,sans-serif;color:var(--tx)}
.cs-watch{background:#3a2d10;color:var(--amb);padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700}
.cs-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--dim)}
.cs-flow .arrow{color:var(--pur)}
.cs-fmeta{text-align:right;font-size:11px;color:var(--dim);white-space:nowrap}
.cs-age{color:var(--tx);font-weight:600}
.cs-links{display:flex;gap:8px;margin-top:4px;justify-content:flex-end}
.cs-out{font-size:10.5px;padding:1px 7px;border-radius:20px;font-weight:700}
.cs-out.b5x{background:#1b3022;color:var(--grn)}
.cs-out.bmid{background:#3a2d10;color:var(--amb)}
.cs-out.bdead{background:#3d1d1f;color:var(--red)}
.cs-out.bunknown,.cs-out.bcensored{background:#21262d;color:var(--dim)}
.cs-retro{color:var(--dim);font-size:10px;font-style:italic;margin-left:6px}

/* ================= CATALOGUE ================= */
.cs-cat{display:flex;flex-direction:column;gap:10px}
.cs-cgroup-h{font:600 12px -apple-system,sans-serif;color:var(--dim);text-transform:uppercase;letter-spacing:.4px;
  margin:14px 0 4px;display:flex;align-items:center;gap:8px}
.cs-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.cs-card.distributor{border-color:rgba(88,166,255,.4)}
.cs-card-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.cs-card-h .cs-label{font:600 13px -apple-system,sans-serif;color:var(--tx)}
.cs-card-stats{display:flex;gap:22px;flex-wrap:wrap;margin:8px 0}
.cs-stat b{display:block;font-size:9.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.3px;font-weight:500}
.cs-stat .v{font-size:15px;font-weight:700}
.cs-stat .v.g{color:var(--grn)}
.cs-stat .v.blu{color:var(--blu)}
.cs-note{font-size:10.5px;color:var(--dim);line-height:1.45;margin-top:6px;border-top:1px solid var(--line);padding-top:7px}
.cs-toks{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.cs-tok{font-size:10.5px;padding:2px 8px;border-radius:6px;background:#0f141b;border:1px solid var(--line);cursor:pointer;white-space:nowrap}
.cs-tok:hover{border-color:var(--blu)}
.cs-tok.b5x{border-color:rgba(63,185,80,.5)}
.cs-tok .m{color:var(--dim)}
.cs-tok.b5x .m{color:var(--grn)}
.cs-graph-link{font-size:11px;color:var(--pur);cursor:pointer}
.cs-graph-link:hover{text-decoration:underline}

/* ================= CONNECTION GRAPH ================= */
.cs-gwrap{display:flex;flex-direction:column;gap:10px}
.cs-gpick{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cs-gpick label{margin:0}
.cs-gpick .cs-gbtn{background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:7px;
  padding:7px 12px;cursor:pointer;font:600 11.5px -apple-system,sans-serif;display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.cs-gpick .cs-gbtn:hover{border-color:var(--blu);color:var(--tx)}
.cs-gpick .cs-gbtn.active{border-color:var(--pur);color:var(--tx);background:#1a1622}
.cs-gpick .cs-gbtn small{font-weight:500;color:var(--dim);font-size:10px}
.cs-gstage{position:relative;background:radial-gradient(ellipse at center,#12171f,#0d1117);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;height:600px}
.cs-gstage svg{width:100%;height:100%;display:block;cursor:grab}
.cs-gstage svg.dragging{cursor:grabbing}
.cs-glink{stroke:#2b333d;stroke-width:1}
.cs-glink.crew{stroke:var(--pur);stroke-opacity:.55;stroke-width:1.2}
.cs-glink.feeds{stroke:#3a4453;stroke-opacity:.7}
.cs-gnode{cursor:pointer}
.cs-gnode circle{stroke:#0d1117;stroke-width:1.5}
.cs-glabel{font:10px ui-monospace,Menlo,monospace;fill:var(--dim);pointer-events:none;user-select:none}
.cs-glabel.tok{fill:var(--tx);font-weight:600}
.cs-gnode.dim{opacity:.18}
.cs-glegend{display:flex;gap:16px;flex-wrap:wrap;font-size:10.5px;color:var(--dim);padding:4px 2px}
.cs-glegend span{display:inline-flex;align-items:center;gap:5px}
.cs-gdot{width:10px;height:10px;border-radius:50%;display:inline-block}
/* graph tooltip */
.cs-gtip{position:absolute;pointer-events:none;background:#0d1117;border:1px solid var(--line);border-radius:8px;
  padding:9px 11px;font-size:11px;max-width:280px;box-shadow:0 6px 24px rgba(0,0,0,.6);z-index:10;display:none;line-height:1.5}
.cs-gtip.show{display:block}
.cs-gtip .t{font:600 12px -apple-system,sans-serif;margin-bottom:3px}
.cs-gtip .k{color:var(--dim)}
.cs-gtip .ca{margin-top:5px;font-size:10px}
.cs-gtip a{font-size:10.5px}

.cs-empty{color:var(--dim);font-size:12px;padding:20px;text-align:center}

@media (max-width:700px){
  .cs-frow{grid-template-columns:auto 1fr;}
  .cs-fmeta{grid-column:1/-1;text-align:left}
  .cs-links{justify-content:flex-start}
  .cs-gstage{height:460px}
}
