:root { --text: #1d1d1f; --muted: #5f6368; --bg: #fff; --accent: #1a5fb4; --border: #e0e0e0; }
@media (prefers-color-scheme: dark) {
  :root { --text: #e8e8ea; --muted: #a0a0a8; --bg: #16161a; --accent: #78aeed; --border: #333; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.6 system-ui, sans-serif; }
.page { max-width: 46rem; margin: 0 auto; padding: 0 16px; }
.site-nav { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.site-nav .brand { font-weight: 700; margin-right: auto; }
a { color: var(--accent); }
footer { color: var(--muted); font-size: 0.85rem; border-top: 1px solid var(--border); margin-top: 3rem; padding: 1rem 0; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--border); }
h1 { line-height: 1.2; }
.crumbs { margin: 1rem 0 0; font-size: 0.9rem; }
.lede, .detail, .nodata { color: var(--muted); }
.nodata { font-style: italic; }
.scroll { overflow-x: auto; }
td, th { vertical-align: top; }
.stats td, .origins td:not(:first-child), .sortable td:not(:first-child) { white-space: nowrap; }
.detail { font-size: 0.85rem; white-space: normal !important; }
table.sortable thead th { cursor: pointer; }
table.sortable thead th[aria-sort="ascending"]::after { content: " \25B2"; }
table.sortable thead th[aria-sort="descending"]::after { content: " \25BC"; }
tfoot th, tfoot td { font-weight: 600; }
.neighbors td, .neighbors th { white-space: nowrap; font-size: 0.9rem; }
.neighbors tr.self th, .neighbors tr.self td { font-weight: 600; }
.caveats { margin: 0.5rem 0 0; padding-left: 1.2rem; }
