:root{--bg: #0b0d10;--bg-1: #111418;--bg-2: #151a20;--fg: #d7dde3;--fg-dim: #7a828c;--border: #202830;--pos: #3fb979;--neg: #e05a5a;--accent: #5aa8ff;--binance: #f0b90b;--bybit: #f7a600;--badge: #1c232b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.dim{color:var(--fg-dim)}.pos{color:var(--pos)}.neg{color:var(--neg)}.app{display:grid;grid-template-rows:auto 1fr;height:100vh}.top{display:flex;align-items:center;gap:16px;padding:8px 14px;background:var(--bg-1);border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:.5px;color:var(--fg)}.status{display:flex;gap:6px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-connecting{background:#d2a441}.dot-open{background:var(--pos)}.dot-closed{background:var(--neg)}.controls{margin-left:auto;display:flex;gap:8px;align-items:center}.controls input[type=search],.controls input[type=number],.controls select{background:var(--bg-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font:inherit;outline:none}.controls input[type=search]:focus,.controls input[type=number]:focus,.controls select:focus{border-color:var(--accent)}.controls input[type=search]{width:140px}.controls input[type=number]{width:110px}.vol{display:flex;gap:6px;align-items:center}.controls button{background:var(--bg-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font:inherit;cursor:pointer}.controls button.on{border-color:var(--accent);color:var(--accent)}.main{display:grid;grid-template-columns:1fr 360px;min-height:0}.table-wrap{overflow:auto;border-right:1px solid var(--border)}table.metrics{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.metrics thead th{position:sticky;top:0;background:var(--bg-1);border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;color:var(--fg-dim);font-weight:600;cursor:pointer;user-select:none;white-space:nowrap}table.metrics thead th.r{text-align:right}table.metrics thead th.sort-asc,table.metrics thead th.sort-desc{color:var(--fg)}table.metrics tbody td{padding:5px 10px;border-bottom:1px solid var(--bg-2);white-space:nowrap}table.metrics tbody tr:hover{background:var(--bg-2)}table.metrics td.r{text-align:right}table.metrics td.sym{font-weight:600}td.exch,th.exch{width:28px;text-align:center;font-weight:700}.exch-binance{color:var(--binance)}.exch-bybit{color:var(--bybit)}td.ready{position:relative;min-width:92px;padding-right:10px;isolation:isolate}td.ready .ready-bar{position:absolute;left:0;top:0;bottom:0;background:#5aa8ff14;z-index:-1;border-right:1px solid rgba(90,168,255,.15)}td.ready.dir-L .ready-bar{background:#3fb97924;border-right-color:#3fb9794d}td.ready.dir-S .ready-bar{background:#e05a5a24;border-right-color:#e05a5a4d}td.ready .ready-text{font-weight:600}td.ready.ready-cold .ready-text{color:var(--fg-dim);font-weight:400}td.ready.ready-cool .ready-text{color:var(--fg)}td.ready.ready-warm .ready-text{color:#e8b94a}td.ready.ready-hot .ready-text{color:#ff8a3c}td.ready.ready-hot.dir-L .ready-text{color:#4adf93}td.ready.ready-hot.dir-S .ready-text{color:#ff6b6b}.empty{padding:24px;text-align:center;color:var(--fg-dim)}.feed{display:flex;flex-direction:column;min-height:0;background:var(--bg-1)}.feed-title{padding:8px 12px;border-bottom:1px solid var(--border);font-weight:700;letter-spacing:.3px}.feed-list{overflow:auto}.feed-empty{padding:24px;text-align:center}.feed-row{display:grid;grid-template-columns:52px auto 20px 1fr auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--bg-2);align-items:center;font-variant-numeric:tabular-nums}.feed-row .t{font-size:11px}.feed-row .sym{font-weight:600}.feed-row .kind{font-size:11px;padding:2px 6px;border-radius:3px;background:var(--badge);color:var(--fg);white-space:nowrap}.feed-row .kind.badge-delta_1m,.feed-row .kind.badge-delta_5m,.feed-row .kind.badge-delta_15m{background:#183423;color:var(--pos)}.feed-row .kind.badge-oi_5m,.feed-row .kind.badge-oi_15m,.feed-row .kind.badge-oi_1h{background:#1c2230;color:var(--accent)}.feed-row .kind.badge-breakout_high_4h{background:#183423;color:var(--pos)}.feed-row .kind.badge-breakout_low_4h{background:#3a1b1b;color:var(--neg)}.feed-row .kind.badge-wall_bid{background:#183423;color:var(--pos)}.feed-row .kind.badge-wall_ask{background:#3a1b1b;color:var(--neg)}.feed-row .kind.badge-level_trigger{background:#2a1d3a;color:#c89bff}.feed-row .val{font-size:12px;color:var(--fg-dim);text-align:right}.tabs{display:flex;gap:4px;margin-left:8px}.tabs .tab{background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:4px;padding:4px 10px;font:inherit;cursor:pointer}.tabs .tab:hover{color:var(--fg)}.tabs .tab.on{color:var(--fg);border-color:var(--border);background:var(--bg-2)}.main-full{grid-template-columns:1fr}.full-wrap{border-right:none}table.metrics td.side{font-weight:700}table.metrics td.side-LONG{color:var(--pos)}table.metrics td.side-SHORT{color:var(--neg)}table.metrics td.kind-cell{color:var(--fg-dim);font-size:12px}table.metrics td.kind-diagonal{color:var(--accent)}table.metrics td.sym.clickable{cursor:pointer;color:var(--accent)}table.metrics td.sym.clickable:hover{text-decoration:underline}.chart-wrap{position:relative;min-height:0;height:100%}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;width:min(1200px,92vw);height:min(720px,86vh);display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--bg-1);border-bottom:1px solid var(--border)}.modal-symbol{font-weight:700;letter-spacing:.5px;margin-right:10px}.modal-subtitle{font-size:12px}.tf-tabs{display:flex;gap:2px;margin-left:auto;margin-right:8px}.tf-tabs .tf{background:transparent;color:var(--fg-dim);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer}.tf-tabs .tf:hover{color:var(--fg)}.tf-tabs .tf.on{color:var(--accent);border-color:var(--accent);background:var(--bg-2)}.modal-close{background:transparent;color:var(--fg-dim);border:1px solid transparent;border-radius:4px;font-size:22px;line-height:1;padding:0 8px;cursor:pointer}.modal-close:hover{color:var(--fg);border-color:var(--border)}.modal-chart{flex:1;min-height:0;position:relative}
