:root {
  color-scheme: dark;
  --bg: #05070a;
  --panel: #080b10;
  --panel-2: #0b1016;
  --line: #1b2430;
  --line-2: #273445;
  --text: #e7edf5;
  --muted: #6e7c8e;
  --muted-2: #475466;
  --pump: #55e59a;
  --fomo: #e7a950;
  --blue: #64b5ff;
  --red: #ff7187;
}
* { box-sizing: border-box; }
html, body, #root { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); }
body { height: 100vh; overflow: hidden; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
.shell, .dashboard-root { height: 100%; min-height: 0; }
.shell { padding: 6px; }
.boot { height: 100%; display: grid; place-items: center; color: var(--muted); font: 800 12px ui-monospace, monospace; }

.terminal-dashboard { height: 100%; min-height: 0; display: flex; flex-direction: column; gap: 6px; }
.terminal-toolbar { flex: 0 0 52px; display: grid; grid-template-columns: 245px minmax(260px,1fr) auto; align-items: center; gap: 10px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 9px; background: #070a0e; }
.brand { min-width: 0; display: flex; align-items: center; gap: 9px; }
.brand > b { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line-2); border-radius: 8px; background: #090d12; font: 900 11px ui-monospace, monospace; }
.brand > div { min-width: 0; display: grid; gap: 2px; }
.brand span { font: 900 12px ui-monospace, monospace; letter-spacing: .08em; }
.brand em { color: var(--muted); font: 500 8px ui-monospace, monospace; font-style: normal; letter-spacing: .03em; white-space: nowrap; }
.terminal-search { height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: #05080c; }
.terminal-search span { color: #3e4a59; font: 800 14px ui-monospace, monospace; }
.terminal-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 11px; }
.terminal-search input::-moz-placeholder { color: #3f4a58; }
.terminal-search input::placeholder { color: #3f4a58; }
.toolbar-stats { display: flex; align-items: center; gap: 5px; }
.toolbar-stats > span, .toolbar-stats button { height: 34px; display: inline-flex; align-items: center; gap: 5px; padding: 0 9px; border: 1px solid var(--line); border-radius: 7px; background: #0a0e13; color: var(--muted); font: 800 9px ui-monospace, monospace; }
.toolbar-stats i { font-style: normal; }.toolbar-stats i.ok { color: var(--pump); }.toolbar-stats i.bad { color: var(--red); }
.toolbar-stats b { color: #aab6c5; }.live-toggle.active { color: var(--pump); }.refresh.spinning { animation: spin .7s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }
.error-banner { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #542a34; border-radius: 6px; background: #170b0f; color: #ef8c9a; font: 700 9px ui-monospace, monospace; }

.terminal-columns { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.source-column { min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.column-pump { box-shadow: inset 0 1px 0 rgba(85,229,154,.035); }.column-fomo { box-shadow: inset 0 1px 0 rgba(231,169,80,.035); }
.column-head { flex: 0 0 50px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--line); background: #090d12; }
.column-title { display: flex; align-items: center; gap: 7px; min-width: 130px; }.source-glyph { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; border: 1px solid var(--line-2); font: 900 10px ui-monospace, monospace; }.pump-glyph { color: var(--pump); background: #081711; }.fomo-glyph { color: var(--fomo); background: #171108; }
.column-title > div { display: grid; gap: 2px; }.column-title strong { font: 900 10px ui-monospace, monospace; letter-spacing: .05em; }.column-title small { color: var(--muted); font: 600 7px ui-monospace, monospace; }
.column-head-right { min-width: 0; display: flex; align-items: center; gap: 4px; }.sort-strip, .mode-strip { display: flex; align-items: center; padding: 2px; border: 1px solid var(--line); border-radius: 6px; background: #05080c; }.sort-button, .mode-button { height: 22px; padding: 0 6px; border: 0; border-radius: 4px; background: transparent; color: #596677; font: 900 7px ui-monospace, monospace; }.sort-button.active, .mode-button.active { background: #141b24; color: #d5dde7; }.column-pump .sort-button.active { color: var(--pump); }.column-fomo .sort-button.active, .column-fomo .mode-button.active { color: var(--fomo); }
.coverage, .freshness, .column-status { color: #526071; font: 700 7px ui-monospace, monospace; white-space: nowrap; }.source-dot { width: 6px; height: 6px; border-radius: 50%; background: #593b20; }.source-dot.live { background: var(--pump); box-shadow: 0 0 8px rgba(85,229,154,.65); }.column-status { min-width: 24px; text-align: right; }
.column-labels { flex: 0 0 23px; display: grid; grid-template-columns: 126px minmax(0,1fr) 174px 164px 10px; gap: 7px; align-items: center; padding: 0 8px; border-bottom: 1px solid #121922; background: #06090d; color: #465364; font: 900 6px ui-monospace, monospace; letter-spacing: .08em; }
.terminal-list { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #283342 #080b10; background: #06090d; }.column-empty { height: 100%; display: grid; place-items: center; color: #3e4a58; font: 800 12px ui-monospace, monospace; }

.terminal-row { position: relative; height: 104px; overflow: hidden; border-bottom: 1px solid #151d27; background: #080b10; }.terminal-row::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; opacity: 0; }.source-row-pump::before { background: var(--pump); }.source-row-fomo::before { background: var(--fomo); }.terminal-row:hover, .terminal-row.selected { background: #0b1016; }.terminal-row:hover::before, .terminal-row.selected::before { opacity: 1; }
.terminal-main { height: 104px; display: grid; grid-template-columns: 126px minmax(0,1fr) 174px 164px 10px; gap: 7px; align-items: center; padding: 7px 8px; cursor: pointer; }
.caller-cell { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 7px; align-items: center; }.caller-cell > img, .avatar-fallback { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #2a3543; -o-object-fit: cover; object-fit: cover; background: #0c1219; }.avatar-fallback { display: grid; place-items: center; color: #758396; font: 900 10px ui-monospace, monospace; }.caller-cell > div { min-width: 0; display: grid; gap: 2px; }.caller-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #dce4ee; font-size: 9px; }.caller-cell span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #596777; font-size: 7px; }.caller-cell small { color: #465261; font: 700 7px ui-monospace, monospace; }
.call-cell { min-width: 0; display: grid; align-content: center; gap: 7px; }.call-head { min-width: 0; display: flex; align-items: center; gap: 5px; }.asset-img, .asset-fallback { width: 26px; height: 26px; flex: 0 0 26px; border: 1px solid #273241; border-radius: 6px; background: #0c1117; }.asset-img { -o-object-fit: cover; object-fit: cover; }.asset-fallback { display: grid; place-items: center; color: #6f7e90; font: 900 7px ui-monospace, monospace; }.call-head > strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.chain-chip, .event-chip, .copy-chip { height: 19px; display: inline-flex; align-items: center; padding: 0 5px; border: 1px solid #26313e; border-radius: 5px; background: #070a0f; color: #6b798b; font: 900 6px ui-monospace, monospace; white-space: nowrap; }.event-chip { color: #9ba8b7; }.copy-chip { max-width: 115px; color: #607085; }.copy-chip:hover { border-color: #46586c; color: #d6dee8; }.copy-chip.copied { color: var(--pump); border-color: #2e604b; }.call-cell p { margin: 0; min-height: 30px; color: #cfd7e1; font-size: 10px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.performance-cell, .position-cell { height: 76px; display: grid; align-content: center; gap: 7px; padding: 8px; border-left: 1px solid #17202a; }.perf-line { display: grid; grid-template-columns: auto 1fr auto auto 1fr; gap: 4px; align-items: baseline; }.perf-line.single { grid-template-columns: auto 1fr; }.perf-line span, .position-top span { color: #4e5c6d; font: 900 6px ui-monospace, monospace; }.perf-line b, .position-top b { color: #dce4ed; font: 900 9px ui-monospace, monospace; text-align: right; }.perf-line i { color: #435061; font-style: normal; }.perf-result, .position-bottom { display: flex; align-items: baseline; gap: 6px; min-width: 0; }.perf-result strong, .position-bottom strong { color: #9ba8b7; font: 900 11px ui-monospace, monospace; }.perf-result span, .position-bottom span { color: #788698; font: 800 8px ui-monospace, monospace; }.perf-result small, .position-bottom small { margin-left: auto; color: #465361; font: 700 6px ui-monospace, monospace; }.positive strong, .positive > strong { color: var(--pump) !important; }.negative strong, .negative > strong { color: var(--red) !important; }.position-top { display: flex; justify-content: space-between; align-items: baseline; gap: 5px; }.chev { color: #3e4b5a; font-size: 14px; }.virtual-spacer { width: 1px; pointer-events: none; }

.terminal-inspector { flex: 0 0 250px; min-height: 0; overflow: hidden; border: 1px solid var(--line-2); border-radius: 9px; background: #080b10; box-shadow: 0 -12px 34px rgba(0,0,0,.32); transform-origin: bottom center; }.terminal-inspector[hidden] { display: none; }.inspector-head { height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 8px; border-bottom: 1px solid var(--line); background: #0a0e13; }.inspector-identity { min-width: 0; display: flex; align-items: center; gap: 7px; }.inspector-identity img { width: 30px; height: 30px; border-radius: 50%; -o-object-fit: cover; object-fit: cover; border: 1px solid #2b3643; }.inspector-identity img:nth-of-type(2) { border-radius: 6px; }.inspector-identity > div { display: grid; gap: 2px; }.inspector-identity strong { font-size: 10px; }.inspector-identity span, .inspector-identity i { color: #637184; font-size: 7px; font-style: normal; }.inspector-identity > i { color: #3f4c5b; padding: 0 4px; }.inspector-close { width: 28px; height: 28px; border: 1px solid #293543; border-radius: 6px; background: #0b1016; color: #758396; font-size: 16px; }
.inspector-body { height: calc(100% - 48px); min-height: 0; display: grid; grid-template-columns: minmax(260px,.9fr) minmax(280px,.8fr) minmax(420px,1.5fr) 190px; gap: 5px; padding: 5px; overflow: hidden; }.inspector-body > section, .raw-details, .fomo-detail-grid section { min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #1b242e; border-radius: 6px; background: #070b0f; }.inspector-thesis { padding: 10px; }.inspector-thesis label { color: #576678; font: 900 7px ui-monospace, monospace; letter-spacing: .08em; }.inspector-thesis p { margin: 8px 0 10px; color: #dce3eb; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }.inspector-actions { display: flex; gap: 4px; flex-wrap: wrap; }
.inspector-outcome { padding: 8px; display: grid; grid-template-columns: 1fr; gap: 7px; align-content: start; }.outcome-big { padding: 8px; border: 1px solid #1c2732; border-radius: 6px; background: #090e14; display: grid; gap: 4px; }.outcome-big span { color: #566476; font: 900 6px ui-monospace, monospace; letter-spacing: .08em; }.outcome-big strong { color: #e5ebf2; font: 900 17px ui-monospace, monospace; }.outcome-big small { color: #718094; font: 700 7px ui-monospace, monospace; }
.inspector-notes { display: grid; grid-template-rows: 28px minmax(0,1fr); }.inspector-notes h4, .fomo-detail-grid h4 { margin: 0; height: 28px; display: flex; justify-content: space-between; align-items: center; padding: 0 7px; border-bottom: 1px solid #1b242e; color: #5b697a; font: 900 7px ui-monospace, monospace; }.detail-list { min-height: 0; overflow: auto; padding: 3px; }.detail-note { padding: 5px 6px; border-bottom: 1px solid #151c24; }.detail-note > div { display: flex; justify-content: space-between; gap: 7px; color: #5c6979; font-size: 7px; }.detail-note b { color: #9ca8b6; }.detail-note p { margin: 3px 0 0; color: #cad3dd; font-size: 9px; line-height: 1.4; overflow-wrap: anywhere; }.fomo-detail-grid { min-width: 0; min-height: 0; height: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.fomo-detail-grid section { display: grid; grid-template-rows: 28px minmax(0,1fr); }.detail-wait, .detail-error { height: 100%; display: grid; place-items: center; color: #748295; font-size: 9px; }.detail-error { color: var(--red); }.muted { display: block; padding: 8px; color: #465362; font-size: 8px; }
.raw-details { display: grid; grid-template-rows: 28px minmax(0,1fr); }.raw-details summary { display: flex; align-items: center; padding: 0 7px; border-bottom: 1px solid #1b242e; color: #566476; cursor: pointer; font: 900 7px ui-monospace, monospace; list-style: none; }.raw-details summary::-webkit-details-marker { display:none; }.raw-details:not([open]) { display:block; }.raw-details:not([open]) pre { display:none; } pre { margin:0; min-height:0; overflow:auto; padding:7px; white-space:pre-wrap; overflow-wrap:anywhere; background:#040609; color:#788697; font: 7px/1.4 ui-monospace, monospace; }

@media (max-width: 1500px) { .coverage { display:none; } .column-labels, .terminal-main { grid-template-columns: 112px minmax(0,1fr) 154px 145px 8px; }.inspector-body { grid-template-columns: minmax(240px,1fr) minmax(250px,.8fr) minmax(360px,1.3fr); }.raw-details { display:none; } }
@media (max-width: 1100px) { .terminal-columns { grid-template-columns: 1fr; overflow:auto; }.source-column { min-height: 48vh; }.terminal-list { min-height: 360px; }.terminal-inspector { flex-basis: 340px; }.inspector-body { grid-template-columns: 1fr 1fr; overflow:auto; }.terminal-toolbar { grid-template-columns: 200px 1fr; }.toolbar-stats { grid-column: 1 / -1; justify-content:flex-end; } }
@media (max-width: 700px) { body { overflow:auto; }.shell { height:auto; min-height:100vh; }.brand em, .coverage, .freshness, .mode-strip { display:none; }.column-labels { display:none; }.terminal-main { grid-template-columns: 90px minmax(0,1fr) 105px 8px; }.position-cell { display:none; }.performance-cell { padding:5px; }.terminal-row, .terminal-main { height: 104px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:1ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; } }

/* v1.11 Pump coverage control plane */
.coverage-toggle { height: 30px; padding: 0 8px; border: 1px solid #26313d; border-radius: 6px; background: #090d12; color: #69788a; font: 900 7px ui-monospace,monospace; letter-spacing: .08em; }
.coverage-toggle:hover,.coverage-toggle.active { color: #dce5ef; border-color: #405065; background: #0d131a; }
.coverage-panel { position: fixed; z-index: 40; top: 62px; right: 8px; bottom: 8px; width: min(520px, calc(100vw - 16px)); display: grid; grid-template-rows: 48px 70px 72px minmax(0,1fr) 38px; border: 1px solid #2a3644; border-radius: 9px; overflow: hidden; background: #080c11; box-shadow: 0 18px 60px rgba(0,0,0,.62); }
.coverage-panel[hidden] { display: none; }
.coverage-panel-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 10px; border-bottom:1px solid #19222c; background:#0b1016; }
.coverage-panel-head > div { display:grid; gap:2px; }.coverage-panel-head strong { font:900 10px ui-monospace,monospace; letter-spacing:.07em; }.coverage-panel-head span { color:#566577; font:700 7px ui-monospace,monospace; }.coverage-panel-head button { width:28px;height:28px;border:1px solid #293543;border-radius:6px;background:#090e14;color:#758396;font-size:16px; }
.coverage-metrics { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:6px; border-bottom:1px solid #171f28; background:#070a0e; }.coverage-metrics span { min-width:0; display:grid; align-content:center; justify-items:center; gap:3px; border:1px solid #1b2631; border-radius:6px; background:#090e14; }.coverage-metrics b { color:#e1e8f0; font:900 15px ui-monospace,monospace; }.coverage-metrics small { color:#536173; font:900 6px ui-monospace,monospace; letter-spacing:.08em; }
.coverage-controls { display:grid; gap:6px; padding:7px; border-bottom:1px solid #171f28; }.coverage-tabs { display:flex; gap:3px; min-width:0; }.cov-tab { height:24px; padding:0 7px; border:1px solid #222d39; border-radius:5px; background:#080d12; color:#5e6d80; font:900 6px ui-monospace,monospace; }.cov-tab:hover,.cov-tab.active { color:#dce4ed; border-color:#3b4a5d; background:#0d141c; }.coverage-search { height:27px; display:grid; grid-template-columns:18px 1fr; align-items:center; border:1px solid #202b37; border-radius:6px; background:#06090d; }.coverage-search span { text-align:center;color:#4d5c6e;font:900 9px ui-monospace,monospace; }.coverage-search input { width:100%;height:100%;border:0;outline:0;background:transparent;color:#cbd5df;font:800 8px ui-monospace,monospace; }
.coverage-list { min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:#283442 #080c11; }.coverage-empty { height:100%; display:grid; place-items:center; color:#43505e; font:900 10px ui-monospace,monospace; }
.coverage-row { min-height:86px; display:grid; grid-template-columns:minmax(0,1fr) 62px; grid-template-rows:auto auto 1fr; gap:5px 8px; padding:8px; border-bottom:1px solid #17202a; background:#080c11; }.coverage-row:hover { background:#0b1118; }.coverage-row.due { box-shadow: inset 2px 0 #d6a54a; }.coverage-row.state-exhaustive { box-shadow: inset 2px 0 #45d68a; }.coverage-row.state-error { box-shadow: inset 2px 0 #e16f77; }.coverage-row.state-gap { box-shadow: inset 3px 0 #ff7b72; background:#100b0d; }
.coverage-mint { min-width:0; display:flex; align-items:center; gap:5px; }.coverage-mint strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce4ed;font:900 9px ui-monospace,monospace; }.coverage-mint button { height:19px;padding:0 5px;border:1px solid #273341;border-radius:4px;background:#080d13;color:#617185;font:900 6px ui-monospace,monospace; }.coverage-mint span { margin-left:auto;color:#738296;font:900 6px ui-monospace,monospace; }
.coverage-row-stats { min-width:0; display:flex; align-items:center; gap:9px; color:#5f6e80; font:700 7px ui-monospace,monospace; }.coverage-row-stats b { color:#aeb9c6; }.coverage-row-stats time { margin-left:auto;color:#475565; }.coverage-row p { grid-column:1; margin:0; overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#627184;font-size:8px; }.coverage-scan { grid-column:2; grid-row:1 / 4; align-self:stretch; border:1px solid #2b3744;border-radius:6px;background:#0b1118;color:#8b99aa;font:900 7px ui-monospace,monospace;letter-spacing:.05em; }.coverage-scan:hover { color:#e1e8f0;border-color:#46576a; }.coverage-scan[data-busy="1"] { opacity:.6; }
.coverage-foot { display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-top:1px solid #1a232d;background:#090e14;color:#586779;font:800 7px ui-monospace,monospace; }.coverage-foot button { width:28px;height:25px;border:1px solid #27323f;border-radius:5px;background:#080c11;color:#718094; }
@media (max-width:700px) { .coverage-panel { top:8px; left:8px; right:8px; width:auto; } .coverage-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* v1.12 readable call-centric redesign */
:root {
  --bg: #06080b;
  --panel: #090c10;
  --panel-2: #0d1117;
  --line: #1c252f;
  --line-2: #2a3745;
  --text: #f1f5f9;
  --muted: #8390a1;
  --muted-2: #596575;
}

.shell { padding: 8px; }
.terminal-dashboard { gap: 8px; }
.terminal-toolbar {
  flex-basis: 58px;
  grid-template-columns: 230px minmax(320px,1fr) auto;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #080b0f;
}
.brand > b { width: 40px; height: 40px; border-radius: 10px; font-size: 12px; }
.brand span { font: 800 14px/1.1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .04em; }
.brand em { color: #778496; font: 600 10px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: 0; }
.terminal-search { height: 40px; border-radius: 9px; padding: 0 12px; background: #06090d; }
.terminal-search input { font-size: 13px; }
.toolbar-stats > span, .toolbar-stats button { height: 36px; border-radius: 9px; font-size: 10px; padding: 0 10px; }
.coverage-toggle { height: 36px; font-size: 9px; }

.terminal-columns { gap: 8px; }
.source-column { border-radius: 12px; background: #080b0f; }
.column-head { flex-basis: 58px; padding: 8px 10px; background: #0a0e13; }
.column-title { min-width: 150px; gap: 9px; }
.source-glyph { width: 34px; height: 34px; border-radius: 9px; font-size: 12px; }
.column-title > div { gap: 3px; }
.column-title strong { font: 800 13px/1.1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .02em; }
.column-title small { color: #778496; font: 600 10px/1 ui-sans-serif,system-ui,sans-serif; }
.sort-strip, .mode-strip { padding: 3px; border-radius: 8px; }
.sort-button, .mode-button { height: 26px; padding: 0 8px; border-radius: 6px; font: 800 9px ui-sans-serif,system-ui,sans-serif; letter-spacing: .02em; }
.coverage, .freshness, .column-status { font: 700 9px ui-monospace,monospace; }
.source-dot { width: 7px; height: 7px; }
.column-labels { display: none !important; }
.terminal-list { background: #070a0e; }

.terminal-row {
  height: 104px;
  border-bottom: 1px solid #161e27;
  background: #080c11;
}
.terminal-row::before { width: 3px; opacity: .45; }
.terminal-row:hover, .terminal-row.selected { background: #0c1218; }
.terminal-row:hover::before, .terminal-row.selected::before { opacity: 1; }
.terminal-main {
  height: 104px;
  display: grid;
  grid-template-rows: 30px minmax(28px,1fr) 28px;
  gap: 5px;
  padding: 8px 12px 7px 14px;
  cursor: pointer;
}
.row-story {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(145px,.8fr) 18px minmax(165px,1fr) auto auto;
  align-items: center;
  gap: 7px;
}
.row-who, .row-token { min-width: 0; display: flex; align-items: center; gap: 8px; }
.row-who > img, .row-who > .avatar-fallback { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; border: 1px solid #334151; -o-object-fit: cover; object-fit: cover; }
.avatar-fallback { display: grid; place-items: center; background: #101720; color: #9aa7b7; font: 800 11px ui-sans-serif,system-ui,sans-serif; }
.who-copy, .row-token > div { min-width: 0; display: grid; gap: 1px; }
.who-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #f2f6fa; font: 750 12px/1.2 ui-sans-serif,system-ui,sans-serif; }
.who-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #778496; font: 600 9px/1.2 ui-sans-serif,system-ui,sans-serif; }
.story-arrow { color: #536173; font-size: 15px; text-align: center; }
.source-row-pump .story-arrow { color: #4bc98a; }
.source-row-fomo .story-arrow { color: #d59b49; }
.asset-img, .asset-fallback { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 7px; border: 1px solid #334151; -o-object-fit: cover; object-fit: cover; background: #10161d; }
.asset-fallback { display: grid; place-items: center; color: #8794a4; font: 800 9px ui-sans-serif,system-ui,sans-serif; }
.row-token strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #ffffff; font: 850 13px/1.15 ui-sans-serif,system-ui,sans-serif; }
.row-token span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #6f7d8e; font: 600 9px/1.2 ui-sans-serif,system-ui,sans-serif; }
.event-chip, .copy-chip {
  height: 23px;
  border-radius: 6px;
  padding: 0 7px;
  border: 1px solid #283544;
  background: #0a0f15;
  color: #8290a1;
  font: 800 8px ui-monospace,monospace;
}
.source-row-pump .event-chip { color: #74e7aa; border-color: #254637; background: #09140f; }
.source-row-fomo .event-chip { color: #efbd70; border-color: #4a3820; background: #151007; }
.ca-chip { max-width: 112px; }
.copy-chip:hover { border-color: #53687f; color: #eef3f8; }
.row-thesis {
  margin: 0;
  padding-left: 38px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #d8e0e9;
  font: 600 13px/1.4 ui-sans-serif,system-ui,sans-serif;
}
.row-result {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 38px;
  color: #8693a3;
}

.market-context { min-width: 0; display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; color: #596777; }
.market-context small { color: #5f6c7c; font: 750 8px ui-sans-serif,system-ui,sans-serif; }
.market-context b { color: #93a0af; font: 800 10px ui-monospace,monospace; }
.market-context span { color: #3f4b59; font-size: 10px; }
.market-context i { color: #4f5c6b; font: 700 8px ui-monospace,monospace; font-style: normal; }
.primary-position { border-color: #263444; background: #0a1118; }
.token-move { opacity: .72; }
.result-block, .return-block, .pnl-block, .realized-block {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}
.result-block small, .pnl-block small, .realized-block small { color: #5f6c7c; font: 750 8px ui-sans-serif,system-ui,sans-serif; }
.result-block b, .realized-block b { color: #dce4ec; font: 800 11px ui-monospace,monospace; }
.result-block i, .pnl-block i { color: #5c6877; font: 700 8px ui-monospace,monospace; font-style: normal; }
.result-arrow { color: #445161; font-size: 11px; }
.return-block { margin-left: 2px; padding: 3px 7px; border-radius: 6px; background: #0d1319; }
.return-block b, .pnl-block b { color: #aab5c2; font: 900 12px ui-monospace,monospace; }
.return-block small { color: #798697; font: 750 9px ui-monospace,monospace; }
.return-block.positive { background: rgba(70,211,139,.075); }
.return-block.negative { background: rgba(255,113,135,.065); }
.result-sep { width: 1px; height: 18px; margin: 0 2px; background: #25303b; }
.position-value { margin-left: 0; }
.pnl-block { padding-left: 2px; }
.realized-block { margin-left: auto; }
.positive b, .positive > b { color: #55e59a !important; }
.negative b, .negative > b { color: #ff7187 !important; }
.chev { margin-left: auto; color: #526071; font-size: 17px; }

/* Old four-column row cells are intentionally retired in v1.12. */
.caller-cell, .call-cell, .performance-cell, .position-cell { display: none !important; }

.terminal-inspector { flex-basis: 280px; border-radius: 12px; }
.inspector-head { height: 54px; padding: 7px 10px; }
.inspector-identity strong { font-size: 12px; }
.inspector-identity span, .inspector-identity i { font-size: 9px; }
.inspector-thesis { padding: 14px; }
.inspector-thesis label { font-size: 9px; }
.inspector-thesis p { margin: 10px 0 14px; font-size: 14px; line-height: 1.5; }
.outcome-big span { font-size: 8px; }
.outcome-big strong { font-size: 20px; }
.outcome-big small { font-size: 9px; }
.inspector-notes h4, .fomo-detail-grid h4 { font-size: 8px; }
.detail-note > div { font-size: 9px; }
.detail-note p { font-size: 11px; }

@media (max-width: 1500px) {
  .row-story { grid-template-columns: minmax(120px,.75fr) 16px minmax(140px,1fr) auto; }
  .ca-chip { display: none; }
  .realized-block { display: none; }
}
@media (max-width: 1100px) {
  .terminal-columns { grid-template-columns: 1fr; }
  .source-column { min-height: 52vh; }
  .row-story { grid-template-columns: minmax(150px,.8fr) 18px minmax(180px,1fr) auto auto; }
  .ca-chip { display: inline-flex; }
}
@media (max-width: 700px) {
  .terminal-main { grid-template-rows: 30px 32px 28px; }
  .row-story { grid-template-columns: minmax(110px,.8fr) 14px minmax(120px,1fr) auto; gap: 5px; }
  .ca-chip { display: none; }
  .row-thesis, .row-result { padding-left: 0; }
  .position-value, .result-sep, .realized-block { display: none; }
  .brand em, .coverage, .freshness, .mode-strip { display: none; }
}
.terminal-main { grid-template-columns: minmax(0,1fr); }


/* v1.17 caller track record */
.caller-track { border-color: #24313f; background: linear-gradient(180deg,#0a1118,#080d12); }
.caller-track > strong { font-size: 13px; line-height: 1.25; }
.caller-track > small { line-height: 1.45; }
.track-wallet {
  margin-top: 3px;
  padding-top: 6px;
  border-top: 1px solid #18222d;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.track-wallet b { color: #b9c5d2; font: 800 9px ui-monospace,monospace; }
.track-wallet i { color: #657386; font: 700 8px ui-monospace,monospace; font-style: normal; }
.track-wallet.positive b { color: var(--green); }
.track-wallet.negative b { color: var(--red); }

/* v1.18 — compact tape */
:root {
  --color-bg: #0c0c0e;
  --color-surface: #141416;
  --color-surface-hover: #1b1b1e;
  --color-fg: #ecece8;
  --color-muted: #8b8b86;
  --color-subtle: #5c5c58;
  --color-border: rgb(236 236 232 / 0.08);
  --color-border-strong: rgb(236 236 232 / 0.14);
  --color-profit: #6ee7a8;
  --color-loss: #f09086;
  --color-pump: #8fa08c;
  --color-fomo: #c4a574;
  --font-sans: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", "SF Mono", ui-monospace, monospace;
}
html, body, #root { background: var(--color-bg); color: var(--color-fg); }
body { font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
.shell { padding: 0; }
.terminal-dashboard { gap: 0; background: var(--color-bg); }
.terminal-toolbar {
  flex-basis: 48px;
  grid-template-columns: 118px minmax(240px, 1fr) auto;
  gap: 10px;
  padding: 5px 8px;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  background: var(--color-surface);
}
.brand { gap: 8px; }
.brand > b {
  width: 30px; height: 30px; border: 0; border-radius: 4px;
  background: var(--color-fg); color: #101012;
  font: 900 10px var(--font-mono);
}
.brand > div { display: block; }
.brand span { font: 750 13px/1 var(--font-sans); letter-spacing: -.01em; text-transform: none; }
.brand em { display: none; }
.terminal-search {
  height: 34px; max-width: none; padding: 0 10px;
  border: 1px solid var(--color-border); border-radius: 8px;
  background: #101012;
}
.terminal-search span { color: var(--color-subtle); font: 700 12px var(--font-mono); }
.terminal-search input { color: var(--color-fg); font: 500 12px var(--font-sans); }
.terminal-search input::-moz-placeholder { color: #56565c; }
.terminal-search input::placeholder { color: #56565c; }
.toolbar-stats { gap: 2px; }
.toolbar-stats > span, .toolbar-stats button {
  height: 30px; padding: 0 7px; border: 0; border-radius: 6px;
  background: transparent; color: var(--color-muted); font: 650 9px var(--font-mono);
}
.toolbar-stats > span:hover, .toolbar-stats button:hover { background: var(--color-surface-hover); }
.toolbar-stats b { color: var(--color-fg); }
.toolbar-stats i.ok, .live-toggle.active { color: var(--color-profit); }
.coverage-toggle { font-size: 13px !important; }

.terminal-columns { gap: 1px; background: var(--color-border); }
.source-column { border: 0; border-radius: 0; background: var(--color-bg); box-shadow: none; }
.column-head {
  flex-basis: 43px; min-height: 43px; padding: 5px 8px;
  border: 0; border-bottom: 1px solid var(--color-border);
  background: var(--color-surface);
}
.column-title { min-width: 112px; gap: 6px; }
.source-glyph { width: 20px; height: 20px; border: 0; border-radius: 4px; font: 800 9px var(--font-mono); }
.pump-glyph { background: rgb(143 160 140 / .14); color: #a9b7a7; }
.fomo-glyph { background: rgb(196 165 116 / .14); color: #d4b987; }
.column-title > div { display: flex; align-items: baseline; gap: 6px; }
.column-title strong { color: var(--color-fg); font: 700 12px/1 var(--font-sans); letter-spacing: -.01em; }
.column-title small { color: var(--color-muted); font: 500 9px var(--font-mono); }
.column-head-right { gap: 3px; }
.sort-strip, .mode-strip { padding: 1px; border: 0; border-radius: 6px; background: transparent; }
.sort-button, .mode-button { height: 25px; padding: 0 7px; border-radius: 5px; color: #68686d; font: 650 9px var(--font-sans); }
.sort-button:hover, .mode-button:hover { color: #aaa9a4; background: #19191c; }
.sort-button.active, .mode-button.active { background: #202024; color: var(--color-fg); }
.column-pump .sort-button.active { color: #dce7da; }
.column-fomo .sort-button.active, .column-fomo .mode-button.active { color: #ead4ab; }
.coverage { color: #646469; font: 500 8px var(--font-mono); }
.freshness { color: #68686c; font: 500 8px var(--font-mono); }
.column-status { color: #77777b; font: 600 8px var(--font-mono); }
.source-dot { width: 5px; height: 5px; background: #665844; }
.source-dot.live { background: var(--color-profit); box-shadow: 0 0 7px rgb(110 231 168 / .55); }
.terminal-list { background: var(--color-bg); scrollbar-color: rgb(236 236 232 / .12) transparent; }

.terminal-row {
  height: 68px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-bg);
  overflow: hidden;
}
.terminal-row::before { width: 2px; opacity: 0; }
.source-row-pump::before { background: var(--color-pump); }
.source-row-fomo::before { background: var(--color-fomo); }
.terminal-row:hover { background: var(--color-surface); }
.terminal-row.selected { background: #18181b; }
.terminal-row:hover::before, .terminal-row.selected::before { opacity: .9; }
.terminal-main { display: none !important; }
.compact-call {
  height: 68px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 44px;
  align-items: center;
  -moz-column-gap: 9px;
       column-gap: 9px;
  padding: 6px 8px;
  cursor: pointer;
}
.compact-av { width: 28px; height: 28px; align-self: center; }
.compact-av img, .compact-avatar-fallback {
  width: 28px; height: 28px; display: grid; place-items: center;
  border-radius: 50%; -o-object-fit: cover; object-fit: cover;
  border: 1px solid var(--color-border-strong);
  background: #242428; color: #c7c7c3; font: 700 9px var(--font-sans);
}
.compact-body { min-width: 0; display: grid; gap: 5px; }
.compact-meta { min-width: 0; display: flex; align-items: center; gap: 5px; line-height: 1; }
.compact-token-img, .compact-token-fallback {
  width: 17px; height: 17px; flex: 0 0 17px; display: grid; place-items: center;
  border-radius: 5px; -o-object-fit: cover; object-fit: cover; border: 1px solid var(--color-border);
  background: #202024; color: #a4a49f; font: 700 7px var(--font-sans);
}
.compact-meta strong {
  max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--color-fg); font: 750 12px/1 var(--font-sans); letter-spacing: -.015em;
}
.compact-meta span, .compact-meta em, .compact-meta time, .compact-meta i {
  min-width: 0; color: var(--color-muted); font: 500 9px/1 var(--font-sans); font-style: normal; white-space: nowrap;
}
.compact-meta em { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.compact-meta i { color: #444448; }
.compact-ca {
  width: 18px; height: 18px; padding: 0; border: 0; border-radius: 4px;
  background: transparent; color: #5f5f64; font: 600 10px var(--font-mono);
}
.compact-ca:hover { background: #202024; color: var(--color-fg); }
.compact-ca.copied { color: var(--color-profit); }
.compact-event {
  margin-left: 1px; padding: 2px 4px; border-radius: 4px;
  color: #6f6f73 !important; background: #1a1a1d; font: 650 7px/1 var(--font-mono) !important;
}
.compact-event.pump { color: #9dae9a !important; background: rgb(143 160 140 / .10); }
.compact-event.fomo { color: #cdb17f !important; background: rgb(196 165 116 / .10); }
.compact-body p {
  margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: #ddddda; font: 500 11px/1.2 var(--font-sans); letter-spacing: -.005em;
}
.compact-stats {
  min-width: 146px; display: grid; grid-template-columns: 52px 52px 48px;
  align-items: baseline; justify-items: end; gap: 5px; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.compact-stats b, .compact-stats span, .compact-stats strong { font-family: var(--font-mono); letter-spacing: -.03em; }
.compact-stats b { color: #b8b8b3; font-size: 10px; font-weight: 700; }
.compact-stats span { color: #b1b1ad; font-size: 10px; font-weight: 650; }
.compact-stats strong { color: var(--color-fg); font-size: 10px; font-weight: 700; }
.compact-stats .positive, .compact-stats b.positive, .compact-stats span.positive { color: var(--color-profit) !important; }
.compact-stats .negative, .compact-stats b.negative, .compact-stats span.negative { color: var(--color-loss) !important; }
.compact-stats.exited { min-width: 105px; grid-template-columns: auto auto; }
.compact-stats.exited b { color: #858580; }
.compact-stats.context { min-width: 112px; display: flex; justify-content: flex-end; }
.compact-stats.context b { color: #8d8d88; font-size: 9px; font-weight: 550; }
.compact-action {
  width: 42px; height: 30px; padding: 0; border: 1px solid var(--color-border-strong); border-radius: 8px;
  background: transparent; color: #a0a09b; font: 600 10px var(--font-sans);
}
.compact-action:hover { background: var(--color-surface-hover); color: var(--color-fg); }
.source-row-pump .compact-action:hover { border-color: rgb(143 160 140 / .38); }
.source-row-fomo .compact-action:hover { border-color: rgb(196 165 116 / .38); }

/* Drawer instead of a bottom panel: keeps both tapes readable. */
.terminal-inspector {
  position: fixed; z-index: 80; top: 54px; right: 8px; bottom: 8px;
  width: min(430px, calc(100vw - 16px)); min-height: 0; max-height: none;
  overflow: auto; border: 1px solid var(--color-border-strong); border-radius: 12px;
  background: #121214; box-shadow: -12px 0 40px rgb(0 0 0 / .4);
  flex: none;
}
.inspector-head { position: sticky; top: 0; z-index: 2; background: #161619; }
.inspector-body { background: #121214; }
.coverage-panel { background: #121214; border-color: var(--color-border-strong); box-shadow: -12px 0 40px rgb(0 0 0 / .4); }

@media (max-width: 1500px) {
  .compact-stats { min-width: 126px; grid-template-columns: 44px 44px 40px; }
  .compact-meta em { max-width: 95px; }
  .coverage { display: none; }
}
@media (max-width: 1080px) {
  .terminal-columns { grid-template-columns: 1fr; }
  .source-column { min-height: 52vh; }
  .compact-stats { min-width: 146px; grid-template-columns: 52px 52px 48px; }
}
@media (max-width: 680px) {
  .terminal-toolbar { grid-template-columns: 92px minmax(0,1fr) auto; }
  .toolbar-stats > span { display: none; }
  .compact-call { grid-template-columns: 28px minmax(0,1fr) 40px; }
  .compact-stats { display: none; }
  .compact-meta em { max-width: 90px; }
  .freshness, .column-status { display: none; }
}
