*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #0f1117;
  color: #e2e8f0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 16px;
}

header { text-align: center; margin-bottom: 40px; }
header h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: .04em; color: #f8fafc; }
header p  { font-size: .85rem; color: #64748b; margin-top: 6px; }

.overall {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .95rem;
  margin-bottom: 40px;
}
.overall.all-up   { background: #052e16; color: #4ade80; border: 1px solid #166534; }
.overall.partial  { background: #1c1209; color: #fbbf24; border: 1px solid #92400e; }
.overall.all-down { background: #1c0a0a; color: #f87171; border: 1px solid #7f1d1d; }

.dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.dot.up   { background: #4ade80; box-shadow: 0 0 6px #4ade80; }
.dot.down { background: #f87171; box-shadow: 0 0 6px #f87171; }
.dot.warn { background: #fbbf24; box-shadow: 0 0 6px #fbbf24; }

.cards { width: 100%; max-width: 640px; display: flex; flex-direction: column; gap: 12px; }

.card {
  background: #1e2130;
  border: 1px solid #2d3148;
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  transition: border-color .2s;
}
.card:hover { border-color: #4f5882; }
.card.up   { border-left: 3px solid #4ade80; }
.card.down { border-left: 3px solid #f87171; }

.card-icon { font-size: 1.4rem; flex-shrink: 0; }
.card-info { flex: 1; min-width: 0; }
.card-name { font-weight: 600; font-size: 1rem; color: #f1f5f9; }
.card-url  { font-size: .75rem; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }

.card-meta { text-align: right; flex-shrink: 0; }
.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.badge.up   { background: #052e16; color: #4ade80; }
.badge.down { background: #1c0a0a; color: #f87171; }
.card-ms { font-size: .72rem; color: #475569; margin-top: 4px; }

footer { margin-top: 48px; font-size: .75rem; color: #334155; text-align: center; }
footer span { color: #475569; }
#countdown { color: #4f5882; }
.powered { margin-top: 12px; font-size: .72rem; color: #334155; }
.xe { color: #4ade80; font-weight: 700; }
