:root {
  --bg: #ffffff;
  --fg: #1a1a1a;
  --muted: #666666;
  --rule: #e5e7eb;
  --chip-bg: #eeeef8;
  --chip-fg: #333344;
  --flag-bg: #fde68a;
  --flag-fg: #92400e;
  --link: #1d4ed8;
}

body {
  font-family: -apple-system, Helvetica, Arial, sans-serif;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 16px 48px;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.45;
}

a { color: var(--link); }
h1 { font-size: 22px; margin-bottom: 4px; }
h2 { font-size: 15px; margin: 32px 0 8px; color: var(--muted); }
h3 { font-size: 16px; margin: 0 0 2px; }
p.lede { color: var(--muted); margin-top: 0; }
p.authors { color: var(--muted); font-size: 13px; margin: 0 0 6px; }
p.meta { margin: 6px 0; font-size: 12px; }
article.paper { border-top: 1px solid var(--rule); padding: 12px 0; }
details { font-size: 14px; }
summary { color: var(--muted); cursor: pointer; }

.chip {
  display: inline-block;
  background: var(--chip-bg);
  color: var(--chip-fg);
  padding: 1px 6px;
  border-radius: 3px;
  margin-right: 4px;
  font-size: 12px;
}
.chip.flag { background: var(--flag-bg); color: var(--flag-fg); }
.chip.tag[data-tag] { cursor: pointer; }
.chip.tag.active { outline: 1px solid var(--link); }

footer {
  border-top: 1px solid var(--rule);
  margin-top: 32px;
  padding-top: 12px;
  font-size: 13px;
  color: var(--muted);
}

table { border-collapse: collapse; width: 100%; font-size: 13px; }
th, td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--rule); vertical-align: top; }
th { color: var(--muted); font-weight: 600; }
td.num { text-align: right; white-space: nowrap; }
input.filter { width: 100%; padding: 6px 8px; font-size: 14px; margin: 12px 0; }

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #15171a;
    --fg: #e8e8ea;
    --muted: #9ba1a8;
    --rule: #2c3034;
    --chip-bg: #262b33;
    --chip-fg: #c8cfd8;
    --flag-bg: #4a3a12;
    --flag-fg: #f3d58a;
    --link: #7aa2f7;
  }
}
