:root {
  --bg: #f7f8fa; --card: #ffffff; --text: #16202a; --muted: #5a6877; --line: #d9dee5;
  --ok: #1b8a4b; --warn: #b7791f; --bad: #c0392b; --none: #c5ccd5;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #11161c; --card: #19212a; --text: #e8edf2; --muted: #9aa8b6; --line: #2b3643;
    --ok: #3fb97a; --warn: #e0a84a; --bad: #ee6b5c; --none: #3a4552;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0 auto; max-width: 52rem; padding: 1.5rem 1rem 3rem;
  background: var(--bg); color: var(--text);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
h1 { margin: 0 0 .75rem; font-size: 1.6rem; }
h2 { margin: 2rem 0 .75rem; font-size: 1.15rem; }
.muted { color: var(--muted); font-size: .9rem; }
.overall {
  margin: 0 0 .25rem; padding: .75rem 1rem; border-radius: .5rem; border-left: .4rem solid var(--none);
  background: var(--card); font-weight: 600;
}
.overall[data-state="operational"] { border-color: var(--ok); }
.overall[data-state="down"] { border-color: var(--bad); }
.overall[data-state="unknown"] { border-color: var(--warn); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; }
.row { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.name { font-weight: 600; font-size: 1.05rem; }
.pill { font-size: .85rem; font-weight: 600; padding: .1rem .6rem; border-radius: 1rem; border: 1px solid currentColor; }
.pill[data-state="operational"] { color: var(--ok); }
.pill[data-state="down"] { color: var(--bad); }
.pill[data-state="unknown"] { color: var(--warn); }
.bars { display: flex; gap: 2px; height: 2.25rem; margin: .75rem 0 .25rem; }
.bar { flex: 1 1 0; min-width: 0; background: var(--none); border-radius: 2px; }
.bar[data-level="ok"] { background: var(--ok); }
.bar[data-level="warn"] { background: var(--warn); }
.bar[data-level="bad"] { background: var(--bad); }
.legend { display: flex; justify-content: space-between; font-size: .8rem; color: var(--muted); }
.incident { border-top: 1px solid var(--line); padding: .75rem 0; }
.incident:first-child { border-top: 0; }
.incident h3 { margin: 0; font-size: 1rem; }
.incident ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.incident li { margin: .25rem 0; }
.tag { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
footer { margin-top: 3rem; border-top: 1px solid var(--line); padding-top: 1rem; }
@media (max-width: 30rem) { .bars { height: 1.75rem; } body { padding-inline: .75rem; } }
