:root{color-scheme:light;--bg: #f6f5f2;--ink: #1c1b18;--muted: #6f6b64;--line: #e4e0d8;--card: #fffcf8;--ok: #2f6b45;--bad: #8d2f2f;--warn: #9a6b1f}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}button,input,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:22px 0 8px}.brand{font-size:18px;font-weight:600;letter-spacing:-.03em;text-decoration:none}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none}nav a.router-link-active{color:var(--ink)}.text{border:0;background:transparent;padding:0;cursor:pointer}.page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:12px 0 72px}h1{margin:0;font-size:34px;font-weight:500;letter-spacing:-.04em}h2{margin:28px 0 0;font-size:20px;font-weight:500}.sub{margin:8px 0 0;color:var(--muted)}.banner{border:1px solid #e7c8c4;background:#fbf6f5;color:#6e2c2c;border-radius:12px;padding:10px 12px;margin:18px 0 0}.cards,.gauges,.split{display:grid;gap:14px;margin-top:22px}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gauges{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.split{grid-template-columns:1.4fr 1fr}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px}.card strong{display:block;font-size:28px;font-weight:500;letter-spacing:-.04em}.card span,.muted{color:var(--muted)}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}.gauge{margin:0;text-align:center}.gauge svg{width:100%;height:auto}.gauge path{fill:none;stroke:var(--line);stroke-width:10;stroke-linecap:round}.gauge path.value{stroke:var(--ink)}.gauge figcaption{margin-top:-18px}.gauge strong{display:block;font-size:20px;font-weight:500}.gauge span{color:var(--muted);font-size:13px}.filters,.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:18px}label{display:grid;gap:4px;color:var(--muted);font-size:13px}input,select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;min-width:0}button.primary,button.ghost{border-radius:10px;padding:8px 12px;cursor:pointer}button.primary{background:var(--ink);color:#fff;border:0}button.ghost{background:transparent;border:1px solid var(--line)}button:disabled{opacity:.5;cursor:default}table{width:100%;border-collapse:collapse;margin-top:16px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th button{border:0;background:transparent;padding:0;cursor:pointer;color:var(--muted)}.meter{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:8px}.meter span{display:block;height:100%;background:var(--ink)}.node{display:grid;gap:6px}.log{white-space:pre-wrap;word-break:break-word;background:#1c1b18;color:#f6f5f2;border-radius:12px;padding:12px;max-height:420px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.login{width:min(420px,calc(100% - 40px));margin:12vh auto}@media(max-width:800px){.split{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}}
