:root{color-scheme:dark;--bg: #0b0d10;--panel: #14181d;--panel-2: #1a2028;--border: #262e39;--text: #e8ecf1;--muted: #8b96a5;--accent: #f7931a;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;line-height:1.45}.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 64px}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:24px}.brand{font-size:20px;font-weight:700}.brand span{color:var(--accent)}.who{color:var(--muted);font-size:12px;text-align:right}.who code{color:var(--text);font-size:11px}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}button:hover{border-color:var(--accent)}button.primary,button.active{background:var(--accent);color:#1a1a1a;border-color:var(--accent);font-weight:600}button:disabled{opacity:.5;cursor:default}button.small{padding:3px 10px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.card h3{font-size:15px;display:flex;justify-content:space-between;align-items:center}.card .tag{font-size:10px;padding:2px 8px;border-radius:99px;border:1px solid var(--border);color:var(--muted)}.card .tag.mock{color:var(--warn);border-color:var(--warn)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.stat{background:var(--panel-2);border-radius:8px;padding:8px 10px}.stat .k{color:var(--muted);font-size:11px}.stat .v{font-size:16px;font-weight:600}.stat .v small{color:var(--muted);font-size:11px;font-weight:400}.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.modes button{flex:0}label.fan{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:10px}input[type=range]{flex:1;accent-color:var(--accent)}input[type=number],input[type=text]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 8px;font-size:13px;width:70px}input[type=text]{width:100%}section{margin-top:28px}section>h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.log{font-family:ui-monospace,monospace;font-size:11.5px;max-height:260px;overflow-y:auto}.log .line{padding:4px 8px;border-bottom:1px solid var(--border);display:flex;gap:10px}.log .line:last-child{border-bottom:none}.log .t{color:var(--muted);flex-shrink:0}.log .k{flex-shrink:0;width:70px}.log .k.autopilot{color:var(--accent)}.banner{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:12px;padding:14px 18px;margin-bottom:14px;border:1px solid var(--border);background:var(--panel)}.banner.engaged{background:#f7931a1f;border-color:var(--accent)}.banner.manual{background:#60a5fa1a;border-color:#60a5fa}.banner.idle{border-color:var(--ok)}.banner.off{opacity:.75}.banner-title{font-size:17px;font-weight:700}.banner.engaged .banner-title{color:var(--accent)}.banner.manual .banner-title{color:#60a5fa}.banner.idle .banner-title{color:var(--ok)}.banner-sub{color:var(--muted);font-size:12.5px;margin-top:2px}.banner-actions{display:flex;gap:10px;align-items:center}.banner-reading{color:var(--muted);font-size:12px;white-space:nowrap}.fleetbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px}.card.manual{border-color:#60a5fa}.card.auto{border-color:var(--accent)}.modetag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px}.modetag.auto{background:#f7931a26;color:var(--accent)}.modetag.manual{background:#60a5fa26;color:#60a5fa}.modetag.none{background:var(--panel-2);color:var(--ok)}.tabs{display:flex;gap:4px}.tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:6px 14px;font-size:13px;color:var(--muted);text-transform:capitalize}.tab:hover{border-color:var(--border);color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700;background:#f7931a14;border-radius:8px 8px 0 0}.minidevices{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.minidevice{display:grid;grid-template-columns:90px 110px 1fr auto;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:13px}.minidevice .id{font-weight:600}.minidevice .pm{color:var(--accent)}.minidevice .temp{color:var(--muted)}.log .k.command{color:var(--ok)}.log .k.marmot{color:#a78bfa}.log .k.auth{color:var(--muted)}.log .k.system{color:var(--warn)}.log .k.schedule{color:#60a5fa}.login{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;text-align:center}.login h1{font-size:28px}.login h1 span{color:var(--accent)}.login p{color:var(--muted);max-width:460px}.error{color:var(--bad);font-size:13px}.stations{display:flex;flex-direction:column;gap:6px;margin:10px 0}.station{display:flex;align-items:center;gap:10px;font-size:12.5px;background:var(--panel-2);border-radius:8px;padding:8px 10px}.station .npub{color:var(--muted);font-family:ui-monospace,monospace;font-size:10.5px}.station .reading{margin-left:auto;color:var(--accent);font-weight:600}.panel-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.panel-row .field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.badge{font-size:11px;padding:2px 10px;border-radius:99px}.badge.on{background:#4ade8026;color:var(--ok)}.badge.off{background:#8b96a526;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.modecontrol{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.mode{padding:14px;font-size:17px;font-weight:700;letter-spacing:.04em;background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--muted);display:flex;flex-direction:column;gap:2px;align-items:center}.mode.on.auto-mode,.mode.on:first-child{color:var(--accent);border-color:var(--accent);background:#f7931a1a}.mode.on:last-child{color:#60a5fa;border-color:#60a5fa;background:#60a5fa1a}.modesub{font-size:11.5px;font-weight:400;color:var(--muted);letter-spacing:0}.stationsbox{border:1px solid var(--border);border-radius:10px;background:var(--panel);margin-bottom:16px}.stationsbox>summary{cursor:pointer;padding:12px 16px;font-weight:600;font-size:14px}.stationsbox[open]>summary{border-bottom:1px solid var(--border)}.stationsbox .card{border:none;box-shadow:none}.mode-error{color:var(--bad);font-size:13px;margin:-6px 0 12px}input.invalid{border-color:var(--bad)}.modecontrol{grid-template-columns:3fr 5fr;align-items:stretch}.autopane{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow:hidden}.autopane.on{border-color:var(--accent);background:#f7931a14}.autopane-head{display:flex;align-items:baseline;gap:10px;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left}.autopane-head:hover{background:#f7931a0f}.autopane-title{font-size:17px;font-weight:700;color:var(--muted)}.autopane.on .autopane-title{color:var(--accent)}.autopane-stations{padding:4px 14px 10px;max-height:170px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.stationrow{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 8px;border-radius:6px;cursor:pointer}.stationrow:hover{background:var(--panel-2)}.stationrow.sel{background:#f7931a1f}.stationrow.sel .stationname{color:var(--accent);font-weight:600}.stationname{flex:1}.stationval{color:var(--muted);font-size:11px;white-space:nowrap}.modebar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.modechip{padding:8px 22px;font-size:14px;font-weight:700;letter-spacing:.03em;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted)}.modechip.on{color:#60a5fa;border-color:#60a5fa;background:#60a5fa1a}.modechip.auto.on{color:var(--accent);border-color:var(--accent);background:#f7931a1a}.modebar-state{font-size:12.5px}.autosettings{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:12px 14px;margin-bottom:16px}.autosettings-col{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.pm-now{text-align:center;padding:10px 8px 8px;border:1px solid var(--border);border-radius:8px;margin-bottom:10px;background:var(--panel-2)}.pm-now.hot{border-color:var(--accent);background:#f7931a1a}.pm-now.ok{border-color:var(--ok);background:#4ade8014}.pm-now-k{font-size:11px;color:var(--muted)}.pm-now-v{font-size:44px;font-weight:800;line-height:1.05}.pm-now.hot .pm-now-v{color:var(--accent)}.pm-now.ok .pm-now-v{color:var(--ok)}.pm-now-v small{font-size:13px;font-weight:400;color:var(--muted);margin-left:6px}.pm-now-ago{font-size:11px;color:var(--muted)}.nickname{color:var(--muted);font-weight:400;font-size:12px;cursor:pointer;margin-left:4px}.nickname:hover{color:var(--accent)}
