:root {
  color-scheme: light dark;
  --bg: #0b0b0f;
  --fg: #f4f4f5;
  --muted: #a1a1aa;
  --panel: #17171d;
  --up: #22c55e;
  --down: #ef4444;
  --unknown: #a1a1aa;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 2rem 1rem;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

main { max-width: 40rem; margin: 0 auto; }
h1 { font-size: 1.5rem; margin: 0 0 1.5rem; }

.verdict {
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--panel);
  border-left: 4px solid var(--unknown);
}
.verdict--you { border-left-color: #f59e0b; }
.verdict--us { border-left-color: var(--down); }
.verdict--unclear { border-left-color: var(--unknown); }
/* Overrides verdict--us: planned maintenance is not a real outage and must
   not paint the panel the same red. Matches the maintenance banner's amber. */
.verdict--maintenance { border-left-color: #f59e0b; }

.verdict__headline { margin: 0 0 .5rem; font-size: 1.15rem; font-weight: 600; }
.verdict__detail { margin: 0; color: var(--muted); }
.verdict__note {
  margin: .75rem 0 0;
  padding-top: .75rem;
  border-top: 1px solid #2a2a33;
  color: var(--muted);
  font-size: .9rem;
}

.summary { margin: 0 0 .75rem; color: var(--muted); font-size: .9rem; }

.services { margin: 1.5rem 0; display: grid; gap: .5rem; }
.card {
  display: flex;
  justify-content: space-between;
  padding: .875rem 1rem;
  border-radius: 10px;
  background: var(--panel);
}
.card__state { color: var(--unknown); font-variant-numeric: tabular-nums; }
.card--up .card__state { color: var(--up); }
.card--down .card__state { color: var(--down); }

footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--muted);
  font-size: .9rem;
}
button {
  padding: .5rem .875rem;
  border: 1px solid #2a2a33;
  border-radius: 8px;
  background: var(--panel);
  color: var(--fg);
  cursor: pointer;
  font: inherit;
}
body[data-state="loading"] main { opacity: .6; }
