:root { color-scheme: dark; }
body { margin: 0; background: #0D1117; color: #F0F6FC; font-family: -apple-system, Segoe UI, Roboto, sans-serif; }
/* Static night sky behind everything: fixed to the viewport, painted once, non-interactive. */
#sky { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
header { padding: 20px 24px; border-bottom: 1px solid #243441; display: flex; align-items: stretch; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
/* H1 stays at the top; the meta row (count + links) is pushed to the bottom of the header. */
.header-main { min-width: 0; display: flex; flex-direction: column; }
.header-meta { margin-top: auto; padding-top: 12px; }
/* Clickable QR spans the full header height (H1 + count + links), image scaled to fit. */
.qr { align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-decoration: none; color: #01f9fe; font-weight: bold; text-align: center; flex: 0 0 auto; }
.qr img { flex: 1 1 auto; min-height: 90px; max-height: 240px; width: auto; aspect-ratio: 1 / 1; border-radius: 6px; }
.qr span { line-height: 1.15; white-space: nowrap; }
h1 { margin: 0; font-size: 3.25rem; color: #01f9fe; font-weight: 600; display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; }
h1 > span { line-height: 1; }
h1 > img { display: block; }
.count { color: #9FB2C2; font-size: .85rem; margin-top: 4px; }
.intro { max-width: 900px; padding: 16px 24px 0; line-height: 1.5; }
.intro p { margin: 0 0 12px; }
.intro ol { margin: 0 0 12px; padding-left: 24px; }
.intro .notice { color: #C9D6E2; }
.intro .warning { color: #E6695B; }
.scroll { overflow-x: auto; padding: 16px 24px 32px; }
table { border-collapse: collapse; width: 100%; font-size: .82rem; white-space: nowrap; }
th, td { padding: 8px 12px; border-bottom: 1px solid #1E242A; text-align: left; }
thead th { position: sticky; top: 0; background: #11202B; color: #00C1FF; font-weight: 600; border-bottom: 1px solid #243441; }
tbody tr:hover { background: #11181F; }
th:not(:last-child),
td:not(:last-child) {
    width: 1%;
    white-space: nowrap;
}

th:last-child,
td:last-child {
    width: auto;
}
td.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; color: #C9D6E2; }
td.ok { color: #2FB170; font-weight: 600; }
td.bad { color: #E6695B; }
/* Auto table-layout squeezes the only wrappable column to its longest word; a fixed-width inner
   block box the cell can't shrink below is the reliable fix. */
td.result.bad div.rw { width: 300px; white-space: normal; overflow-wrap: normal; word-break: normal; }
a { color: #00C1FF; }
.chain-download, .chain-explore { display: block; }
.chain-explore { margin-top: 1em; }
.empty { padding: 24px; color: #9FB2C2; }
td.att { vertical-align: top; max-width: 640px; }
td.att > details.tree > summary { color: #00C1FF; cursor: pointer; }
.tree, .tree details { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; white-space: normal; }
.tree details > summary { cursor: pointer; color: #9FB2C2; }
.tree .ch { margin-left: 12px; padding-left: 8px; border-left: 1px solid #1E242A; }
.tree .leaf { padding: 1px 0; }
.tree .k { color: #00C1FF; }
.tree .s { color: #2FB170; }
.tree .n { color: #E6695B; }
.download { font-weight: bold; padding-left: 2em;}
.tree .z { color: #9FB2C2; }
.jsonlink { display: block; margin-bottom: 6px; font-size: .72rem; }
footer { padding: 16px 24px 28px; border-top: 1px solid #243441; color: #9FB2C2; font-size: .8rem; }
footer a { color: #00C1FF; }
