:root{--bg:#fafaf9;--fg:#1c1917;--muted:#78716c;--card:#fff;--line:#e7e5e4;--soft:#f5f5f4;--accent:#c2410c;--accent-fg:#fff;--good:#15803d;--bad:#b91c1c;--bad-soft:#fef2f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0c0a09;--fg:#f5f5f4;--muted:#a8a29e;--card:#1c1917;--line:#292524;--soft:#161412;--accent:#fb923c;--accent-fg:#1c1917;--good:#4ade80;--bad:#f87171;--bad-soft:#2a1414;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.5 system-ui,-apple-system,sans-serif}a{color:inherit}.page{flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:20px 16px 40px;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font-weight:700;text-decoration:none}.stacks{flex-wrap:wrap;gap:4px;display:flex}.stacks a{color:var(--muted);border-radius:999px;padding:4px 10px;font-size:14px;text-decoration:none}.stacks a:hover{color:var(--fg)}.stacks a.on{background:var(--fg);color:var(--bg)}.hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:28px}.sub{color:var(--muted);margin:4px 0 0}.sub strong{color:var(--fg)}.badge{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:inline-flex}.badge i{background:var(--muted);border-radius:50%;width:8px;height:8px}.badge.online i{background:var(--good)}.badge.offline{color:var(--bad)}.badge.offline i{background:var(--bad)}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:8px;padding:8px 16px}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);min-width:96px;font-weight:600}.seg{border:1px solid var(--line);background:var(--card);border-radius:8px;align-items:center;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.seg span{color:var(--muted);padding:0 8px;font-size:13px}.seg button{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:6px;padding:4px 10px}.seg button.on{background:var(--fg);color:var(--bg)}.stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px 14px}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:24px;font-weight:650;overflow:hidden}.stat .unit{color:var(--muted);font-size:14px;font-weight:400}.stat .note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-height:18px;font-size:12px;overflow:hidden}.stat.bad .value{color:var(--bad)}.bar{background:var(--soft);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar div{background:var(--accent);height:100%}.log{background:var(--card);border:1px solid var(--line);border-radius:10px;height:60vh;min-height:280px;overflow-y:auto}.empty{height:100%;color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid}.row{grid-template-columns:56px minmax(0,1fr) minmax(0,1.4fr) 80px;align-items:center;gap:12px;height:28px;padding:0 14px;font-size:14px;display:grid;position:absolute;left:0;right:0}.row.alt{background:var(--soft)}.row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row .n,.row .ms{color:var(--muted);font-variant-numeric:tabular-nums}.row .ms{text-align:right}.row .es{font-weight:550}.row.bad{background:var(--bad-soft)}.row.bad .en{color:var(--bad)}footer{color:var(--muted);font-size:13px}@media (width<=720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:first-child{grid-column:1/-1}.seg{margin-left:0}.row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 64px;gap:8px}.row .n{display:none}}
