body { margin: 0; background: var(--background); color: var(--foreground); font-family: system-ui, sans-serif; }
.page { max-width: 72rem; margin: 0 auto; padding: 1.5rem 1rem; display: grid; gap: 1.5rem; }
.page h1 { margin: 0; font-size: 1.5rem; font-weight: 600; }
.filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; }
.field { display: grid; gap: 0.25rem; font-size: 0.875rem; font-weight: 500; }
.field input { padding: 0.5rem 0.75rem; border: 1px solid var(--border); border-radius: 0.375rem; background: var(--background); color: inherit; font: inherit; }
.stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.pair { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }
.stat-value { font-size: 1.875rem; font-variant-numeric: tabular-nums; }
.muted { color: var(--muted-foreground); font-size: 0.875rem; margin: 0; }
.error { color: var(--destructive); font-size: 0.875rem; }
.rank { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.rank th, .rank td { padding: 0.25rem 0; text-align: right; font-variant-numeric: tabular-nums; }
.rank th:first-child, .rank td:first-child { text-align: left; overflow-wrap: anywhere; }
.rank thead th { color: var(--muted-foreground); font-weight: 500; }
.rank tbody tr { border-top: 1px solid var(--border); }
.rank caption, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
details { margin-top: 0.5rem; font-size: 0.875rem; }
summary { cursor: pointer; color: var(--muted-foreground); }
.bars { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); margin-top: 1rem; }
.bars h3 { margin: 0 0 0.25rem; font-size: 0.875rem; font-weight: 500; }
.page-nav { max-width: 72rem; margin: 0 auto; padding: 0.75rem 1rem 0; display: flex; gap: 1rem; font-size: 0.875rem; }
.status-error { color: var(--destructive); font-weight: 600; }
.optout { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; align-items: baseline; }
