:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;background:#050505;color:#eee;font-size:16px}
*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 14px;border-bottom:1px solid #555}h1{margin:0;font-size:20px;color:#f0c84a;letter-spacing:.04em}h1 span{color:#eee;font-size:18px;letter-spacing:0;font-weight:400;margin-left:14px}header p{font-size:13px;margin:8px 0 0;color:#aaa}.actions{display:flex;align-items:center;gap:16px;font-size:13px;color:#aaa}button{background:#151515;border:1px solid #666;color:#eee;padding:9px 13px;font:inherit;font-size:14px;cursor:pointer}button:hover{border-color:#f0c84a}button:focus-visible,.chart:focus-visible{outline:2px solid #f0c84a;outline-offset:2px}button:disabled{opacity:.5}main{padding:12px}.grid{display:grid;gap:8px}.energy{grid-template-columns:repeat(3,minmax(0,1fr))}.rooms{grid-template-columns:repeat(4,minmax(0,1fr))}.card{min-width:0;border:1px solid #626262;background:#000;padding:12px 12px 8px}.card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 12px;min-height:26px}.card h3{margin:0;color:#f0c84a;font-size:16px;line-height:1.4;font-weight:700}.value{font-size:17px;font-weight:700;white-space:nowrap}.value .humidity{color:#7fc7ff}.meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#aaa;min-height:27px;line-height:1.5;margin:5px 0 2px}.stale{color:#f0c84a}.chart{position:relative;height:180px;touch-action:pan-y}.energy .chart{height:218px}.chart svg{width:100%;height:100%;display:block;overflow:visible}.gridline{stroke:#292929;stroke-width:1}.axis-label{fill:#aaa;font-size:12px}.trace{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}.zero{stroke:#888;stroke-width:1;stroke-dasharray:3 3}.legend{display:flex;gap:12px;flex-wrap:wrap;color:#ccc;font-size:12px;min-height:18px;margin-top:5px}.key:before{content:'';display:inline-block;vertical-align:middle;width:18px;border-top:2px solid var(--color);margin-right:6px}.key.dashed:before{border-top-style:dashed}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:20px 0 10px}.section-title h2{margin:0;font-size:16px;font-weight:400}.section-title span{font-size:13px;color:#aaa}.tooltip{display:none;position:absolute;z-index:3;pointer-events:none;max-width:95%;padding:9px 11px;background:#191919;border:1px solid #777;box-shadow:0 3px 16px #0009;font-size:12px;line-height:1.7;color:#eee;white-space:pre-line}.empty{height:100%;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px;text-align:center}.notice{border-left:3px solid #f0c84a;background:#18160f;padding:10px 12px;font-size:14px;margin-bottom:12px;line-height:1.5}footer{padding:18px 12px;color:#999;font-size:12px;line-height:1.7}.crosshair{stroke:#aaa;stroke-width:1;stroke-dasharray:3 3;display:none}
@media(min-width:1800px){.rooms{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1200px){.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.energy,.rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.energy .card:first-child{grid-column:1/-1}header{align-items:flex-start}.actions{flex-direction:column;align-items:flex-end;gap:8px}h1 span{display:block;margin:5px 0 0;font-size:16px}}
@media(max-width:540px){.energy,.rooms{grid-template-columns:minmax(0,1fr)}main{padding:8px}.card{padding:12px 10px 8px}.energy .chart,.chart{height:205px}.section-title{align-items:flex-start;flex-direction:column;gap:5px}header{padding:14px 10px}.actions{max-width:130px;text-align:right}h1{font-size:18px}.value{font-size:16px}}
