:root{--page: #0d0d0d;--surface: #12120f;--surface-2: #191917;--ink: #ffffff;--ink-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--binance: #c98500;--hl: #008300;--hl-soft: rgba(0, 131, 0, .16);--kita: #3987e5;--bot: #d55181;--good: #0ca30c;--warn: #fab219;--serious: #ec835a;--crit: #d03b3b;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--sans: system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#26262300;box-shadow:inset 0 0 0 10px #262623;border-radius:6px}::-webkit-scrollbar-track{background:transparent}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 16px;height:46px;flex:0 0 46px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:-.01em;font-size:13px}.brand span{color:var(--muted);font-weight:400;margin-left:8px}.tabs{display:flex;gap:2px;margin-left:8px}.tab{background:none;border:0;padding:6px 12px;border-radius:6px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.03em}.tab:hover{background:var(--surface-2);color:var(--ink-2)}.tab.on{background:#23231f;color:var(--ink)}.spacer{flex:1}.main{flex:1;overflow:auto;padding:14px 16px 40px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.card h3{margin:0 0 10px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}.row{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:10px}.tile-val{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.1}.tile-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:6px}.tile-sub{font-size:11px;color:var(--muted);margin-top:4px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.pos{color:var(--good)}.neg{color:var(--crit)}.dim{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.05em;border:1px solid var(--border);white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:50%}.chip.win{color:var(--good);border-color:#0ca30c59;background:#0ca30c1a}.chip.thin{color:var(--warn);border-color:#fab21959;background:#fab2191a}.chip.loss{color:var(--crit);border-color:#d03b3b59;background:#d03b3b1a}.chip.neutral{color:var(--ink-2);background:var(--surface-2)}.chip.open{color:var(--kita);border-color:#3987e559;background:#3987e51a}.ctl{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:4px 8px;height:28px}.ctl label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.ctl input,.ctl select{background:transparent;border:0;outline:0;color:var(--ink);font:inherit;font-size:12px;width:84px}.ctl input::placeholder{color:#55554f}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:2px}.seg button{border:0;background:none;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer}.seg button.on{background:#2f2f2a;color:var(--ink)}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:5px 11px;font-size:11px;font-weight:600;color:var(--ink-2);cursor:pointer}.btn:hover{background:#262622;color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}table.t{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.t th{text-align:right;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 8px;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:1}table.t th:first-child,table.t td:first-child,table.t th.l,table.t td.l{text-align:left}table.t td{padding:6px 8px;text-align:right;border-bottom:1px solid #1c1c19;font-size:12px}table.t.dense th,table.t.dense td{padding:5px;font-size:11.5px}table.t.dense th:first-child,table.t.dense td:first-child{padding-left:10px}table.t.dense th:last-child,table.t.dense td:last-child{padding-right:10px}table.t tbody tr{cursor:pointer}table.t tbody tr:hover{background:#1a1a17}table.t tbody tr.sel{background:#202019;box-shadow:inset 2px 0 0 var(--kita)}.legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.legend .item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2)}.legend .swatch{width:12px;height:3px;border-radius:2px}.legend .swatch.dotmark{width:9px;height:9px;border-radius:50%}.tip{position:fixed;pointer-events:none;z-index:50;background:#1c1c19;border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:11px;box-shadow:0 6px 22px #0000008c;font-variant-numeric:tabular-nums;max-width:260px}.tip .k{color:var(--muted)}.tip b{font-weight:650}.banner{border-radius:8px;padding:8px 12px;font-size:12px;border:1px solid;display:flex;gap:8px;align-items:center}.banner.warn{color:var(--warn);border-color:#fab21959;background:#fab21914}.banner.crit{color:var(--crit);border-color:#d03b3b59;background:#d03b3b14}.banner.info{color:var(--ink-2);border-color:var(--border);background:var(--surface-2)}.skel{color:var(--muted);font-size:12px;padding:18px 0}.gear{background:none;border:1px solid var(--border);border-radius:7px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;font-size:13px}.gear:hover{background:var(--surface-2);color:var(--ink)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40}.sheet{position:fixed;top:0;right:0;bottom:0;width:min(340px,92vw);background:var(--surface);border-left:1px solid var(--border);z-index:41;padding:20px 18px;overflow-y:auto}.sheet h2{margin:0 0 12px;font-size:15px}.field{margin-bottom:12px}.field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;margin-bottom:5px}.field input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:7px 9px;color:var(--ink);font:inherit}.field input::placeholder{color:#55554f}.btnrow{display:flex;gap:8px;margin-top:4px}.btnrow .btn{flex:1}
