/* netdiag — mobile-first, no external fonts/CDNs, high-contrast red/green/amber. */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #0e0f12; color: #e6e6e6; line-height: 1.4; padding-bottom: 40px;
}
header { background: #16181d; padding: 16px; border-bottom: 1px solid #262a31; }
header h1 { font-size: 1.3rem; }
header p { font-size: .8rem; color: #8a8f98; margin-top: 4px; }
header .runid { font-family: monospace; color: #5b6270; }
main { padding: 12px; max-width: 900px; margin: 0 auto; }
section { margin: 18px 0; }
h2 { font-size: .95rem; color: #9aa0aa; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }

button.big {
  display: block; width: 100%; padding: 16px; margin: 8px 0; font-size: 1.05rem;
  border: none; border-radius: 12px; background: #2f6feb; color: #fff; cursor: pointer;
}
button.big.secondary { background: #23262d; color: #cfd3da; border: 1px solid #333842; }
button.big:disabled { opacity: .4; cursor: not-allowed; }
button.big:active { filter: brightness(1.15); }
.status { font-size: .85rem; color: #8a8f98; min-height: 1.2em; margin-top: 6px; text-align: center; }

table { width: 100%; border-collapse: collapse; font-size: .85rem; }
table.kv td { padding: 6px 8px; border-bottom: 1px solid #1d2026; vertical-align: top; }
table.kv td:first-child { color: #8a8f98; width: 42%; word-break: break-word; }
table.grid th, table.grid td { padding: 8px 6px; border-bottom: 1px solid #1d2026; text-align: left; vertical-align: top; }
table.grid th { color: #8a8f98; font-weight: 600; font-size: .75rem; text-transform: uppercase; }
table.grid td.detail { color: #7d828c; font-size: .75rem; word-break: break-word; }
.wrap { overflow-x: auto; }

.chip {
  display: inline-block; padding: 3px 8px; border-radius: 8px; font-size: .72rem;
  font-weight: 700; white-space: nowrap;
}
.chip.ok            { background: #0d2e0d; color: #4caf50; }
.chip.cors_only     { background: #12233a; color: #64b5f6; }
.chip.http_redirect { background: #2e230d; color: #ffb74d; }
.chip.http_block    { background: #2e0d0d; color: #ef5350; }
.chip.tls_fail      { background: #2e0d0d; color: #ef5350; }
.chip.tcp_timeout   { background: #2e1e0d; color: #ff9800; }
.chip.dns_fail      { background: #2e0d0d; color: #ef5350; }
.chip.unknown       { background: #202227; color: #8a8f98; }
.chip.pending       { background: #202227; color: #8a8f98; }

#verdict { font-size: .9rem; }
#verdict .v { padding: 8px 10px; border-radius: 10px; background: #16181d; margin: 6px 0; border: 1px solid #262a31; }
#verdict .warn { border-color: #7a5a1a; }
footer { padding: 12px 16px; font-size: .75rem; color: #8a8f98; border-top: 1px solid #262a31; }
