:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--surface-2:#f3f2ee;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--series-muted:#898781;--bid:#2a78d6;--ask:#e34948;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--surface-2:#232321;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-muted:#6e6d68;--bid:#3987e5;--ask:#e66767}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--text-primary);-webkit-font-smoothing:antialiased;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--surface-1);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.brand{align-items:center;gap:8px;margin-right:8px;font-size:15px;font-weight:650;display:flex}.brand-sub{color:var(--text-muted);font-weight:500}.logo{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 12l4-5 3 3 5-7' fill='none' stroke='%233987e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:18px;height:18px}.picker{position:relative}.picker input{border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:6px;width:190px;height:32px;padding:0 10px;font-weight:600}.picker-list{z-index:10;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;width:240px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 8px 24px #00000040}.picker-list li{cursor:pointer;border-radius:4px;justify-content:space-between;padding:6px 8px;display:flex}.picker-list li.active{background:var(--surface-2)}.kind{color:var(--text-muted);font-size:12px}.seg{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:2px;display:inline-flex}.seg button{height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 10px}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--surface-1);color:var(--text-primary);box-shadow:0 0 0 1px var(--border)}.seg.small button{height:22px;font-size:13px}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:6px;height:32px;padding:0 12px}.btn.on{border-color:var(--warning)}.status{gap:8px;margin-left:auto;display:flex}.pill{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pill-state{color:var(--text-muted)}.dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.pill.live .dot{background:var(--good)}.pill.connecting .dot{background:var(--warning)}.pill.down .dot{background:var(--critical)}.layout{flex:1;grid-template-columns:minmax(0,1fr) 400px;gap:12px;padding:12px 16px 16px;display:grid}.charts{grid-template-rows:minmax(280px,1fr) minmax(320px,1.15fr);gap:12px;min-height:calc(100vh - 82px);display:grid}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex}.panel-head{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px 4px;display:flex}.panel-head h2{margin:0;font-size:14px;font-weight:650}.hint{color:var(--text-muted);font-size:12px}.hint.warn{color:var(--text-secondary);padding:0 12px}.chart{flex:1;min-height:0;position:relative}.heatmap canvas{display:block;position:absolute;inset:0}.heatmap .overlay{pointer-events:none}.field,.check{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.field select{border:1px solid var(--border);background:var(--surface-2);border-radius:4px;height:26px;padding:0 6px}.check{cursor:pointer;padding:0}.venues .check{padding:8px 12px 12px}.quote{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin:0 0 0 auto;display:flex}.quote div{align-items:baseline;gap:6px;display:flex}.quote dt{color:var(--text-muted);font-size:12px}.quote dd{white-space:nowrap;margin:0;font-weight:600}.crossed{color:var(--critical)}.crossed:after{content:" crossed";font-size:11px;font-weight:500}.venues{align-self:start;max-height:calc(100vh - 82px);position:sticky;top:12px}.table-scroll{min-height:0;overflow:auto}.empty{color:var(--text-muted);margin:0;padding:12px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}thead th{background:var(--surface-1);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--grid);padding:6px 8px;font-size:12px;font-weight:500;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}tbody th,tbody td{border-bottom:1px solid var(--grid);white-space:nowrap;padding:5px 8px}tbody th{text-align:left;font-weight:500}tbody tr.muted th,tbody tr.muted td{color:var(--text-muted)}.num,thead th.num{text-align:right}.sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.tt{font-variant-numeric:tabular-nums}.tt-head{margin-bottom:4px;font-weight:600}.tt table{font-size:12px}.tt td{text-align:right;border:0;padding:1px 6px 1px 0}.tt td:first-child{text-align:left}.tt-muted td{color:var(--text-muted)}@media (width<=1100px){.layout{grid-template-columns:minmax(0,1fr)}.venues{max-height:none;position:static}}@media (width<=640px){.topbar{gap:8px}.status{margin-left:0}.charts{grid-template-rows:320px 360px;min-height:0}.quote{margin-left:0}}
