:root{--bg:#f6f7f4;--ink:#1d2622;--mute:#68736e;--line:#dde2dc;--ok:#1d8a5a;--bad:#c8372d;--warn:#c58a12;--card:#fff}
@media(prefers-color-scheme:dark){:root{--bg:#141a17;--ink:#e8ede9;--mute:#93a099;--line:#2a332e;--card:#1b231f;--ok:#3fbf88;--bad:#ef6a5f;--warn:#e0a93a}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,sans-serif}
main{max-width:980px;margin:0 auto;padding:32px 16px 64px}
h1{font:600 30px/1.2 Georgia,serif;margin:0 0 4px}h2{font:600 20px Georgia,serif;margin:40px 0 12px}
.sub{color:var(--mute);margin:0}
.banner{margin:24px 0;padding:18px 20px;border-radius:6px;background:var(--card);border-left:6px solid var(--ok);font:600 18px Georgia,serif}
.banner.bad{border-color:var(--bad)}.banner.warn{border-color:var(--warn)}
.site{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:8px}
.row{display:grid;grid-template-columns:1.4fr 1fr 1.6fr;gap:12px;align-items:center;padding:12px 16px;cursor:pointer;width:100%;border:0;background:none;color:inherit;text-align:left;font:inherit}
.row:focus-visible{outline:2px solid var(--ok)}
.name{font-weight:600}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;background:var(--mute)}
.up .dot{background:var(--ok)}.down .dot{background:var(--bad)}
.state{font-size:13px;color:var(--mute)}.down .state{color:var(--bad)}
.strip{display:flex;gap:2px;height:26px}.strip i{flex:1;border-radius:1px;background:var(--line)}
.strip i.u{background:var(--ok)}.strip i.d{background:var(--bad)}
.nums{font-size:12px;color:var(--mute);display:flex;justify-content:space-between;gap:14px;margin-top:4px}
.stack{flex-direction:column;gap:0;margin:0}
.detail{display:none;padding:0 16px 14px;overflow-x:auto}.open .detail{display:block}
.tbl{padding:4px 8px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--mute);font-weight:500}
.bad{color:var(--bad)}
@media(max-width:700px){.row{grid-template-columns:1fr}}
