:root{--bg: #ffffff;--fg: #111827;--muted: #6b7280;--line: #e5e7eb;--accent: #1d4ed8;--warn: #92400e;--error: #b91c1c;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0b0f19;--fg: #e5e7eb;--muted: #9ca3af;--line: #1f2937;--accent: #60a5fa;--warn: #fbbf24;--error: #f87171}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1400px;margin:0 auto;padding:16px}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.app-header h1{margin:0;font-size:18px;font-weight:600}.device-picker{display:flex;align-items:center;gap:8px}.device-picker span{color:var(--muted)}.device-picker select,.presets button{font:inherit;padding:4px 10px;color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:6px}.presets{display:flex;gap:6px;margin-left:auto}.presets button{cursor:pointer}.presets button:hover{border-color:var(--accent);color:var(--accent)}.status{display:flex;flex-wrap:wrap;gap:16px;padding:10px 2px;color:var(--muted);font-size:13px}.status .tier{color:var(--accent)}.status .warning{color:var(--warn)}.chart{position:relative;border:1px solid var(--line);border-radius:8px;padding:8px}.chart-loading{position:absolute;top:12px;right:16px;color:var(--muted);font-size:12px}.error{padding:8px 12px;color:var(--error);border:1px solid currentcolor;border-radius:6px}.note{max-width:70ch;color:var(--muted);font-size:13px}.app.centered{display:flex;align-items:center;justify-content:center;min-height:90vh}.auth-card{display:flex;flex-direction:column;gap:12px;width:min(380px,100%);padding:24px;border:1px solid var(--line);border-radius:10px}.auth-card h1{margin:0;font-size:20px}.auth-card label,.field-row label{display:flex;flex-direction:column;gap:4px}.auth-card label span,.field-row label span{color:var(--muted);font-size:13px}.auth-card small,.field-row small{color:var(--muted);font-size:12px}input,select,button{font:inherit;padding:6px 10px;color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:6px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.danger:hover{border-color:var(--error);color:var(--error)}.auth-links{display:flex;flex-wrap:wrap;gap:8px}.auth-links button{padding:2px 6px;border:none;color:var(--accent);text-decoration:underline}.tabs{display:flex;gap:4px}.tabs button.active{border-color:var(--accent);color:var(--accent)}.spacer{flex:1}.who{color:var(--muted);font-size:13px}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 0}.panel{display:flex;flex-direction:column;gap:12px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.panel h2{margin:0;font-size:16px}.field-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.device-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.device-list li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted)}.device-list strong{color:var(--fg)}.members{border-collapse:collapse;text-align:left}.members th,.members td{padding:6px 12px 6px 0;border-bottom:1px solid var(--line)}.members th{color:var(--muted);font-weight:500}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}
