:root{--bg:#0d1117;--panel:#161b22;--border:#21262d;--text:#e6edf3;--muted:#8b949e;--accent:#2f81f7;--ok:#3fb950;--warn:#d29922;--danger:#f85149;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{font-weight:600}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}button{background:var(--accent);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;border:none;padding:8px 16px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--panel);border:1px solid var(--border);color:var(--text)}input,select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;width:100%;padding:8px 10px}input:focus,select:focus{border-color:var(--accent);outline:none}label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--muted);font-size:13px;font-weight:600}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.error{color:var(--danger);font-size:13px}.chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px}.sensor-card{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .15s;display:block}.sensor-card:hover{border-color:var(--accent)}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;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}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.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{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;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}
