.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #252830;--text-primary: #e4e6eb;--text-secondary: #8b8f9a;--accent: #4a9eff;--positive: #22c55e;--negative: #ef4444;--border: #2d3140}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary)}#root{display:flex;flex-direction:column;padding:16px;gap:12px}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.header h1{font-size:1.25rem;font-weight:600}.header .last-update{color:var(--text-secondary);font-size:.8rem}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.controls select{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.85rem;cursor:pointer}.controls button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:.85rem;cursor:pointer}.controls button:hover{background:var(--border)}.chart-container{flex:1;min-height:300px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;overflow:hidden}.status-bar{display:flex;align-items:center;gap:16px;font-size:.78rem;color:var(--text-secondary);flex-wrap:wrap}.status-bar .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.status-bar .dot.live{background:var(--positive)}.status-bar .dot.error{background:var(--negative)}.status-bar .dot.loading{background:var(--accent)}.error-banner{background:#3b1111;border:1px solid var(--negative);border-radius:6px;padding:10px 14px;font-size:.85rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.error-banner button{background:var(--negative);color:#fff;border:none;border-radius:4px;padding:4px 12px;cursor:pointer;font-size:.8rem}.loading-overlay{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}
