:root {
  --bg: #ffffff; --fg: #16181d; --muted: #6b7280;
  --line: #e5e7eb; --accent: #b45309; --card: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1115; --fg: #e8eaed; --muted: #9aa1ab;
    --line: #262b33; --accent: #f0b429; --card: #161a20;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  padding: max(env(safe-area-inset-top), 12px) 12px 48px;
  max-width: 720px; margin-inline: auto;
}
header { padding: 8px 4px 16px; border-bottom: 1px solid var(--line); }
h1 { font-size: 20px; margin: 0; letter-spacing: -0.01em; }
.stale { color: var(--accent); font-size: 13px; margin: 8px 0 0; }
h2 {
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--muted); margin: 28px 0 10px;
}
.item {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px; margin-bottom: 8px;
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
}
.item a { color: inherit; text-decoration: none; flex: 1; }
.item a:active { opacity: 0.6; }
.title { font-weight: 550; }
.meta { color: var(--muted); font-size: 13px; margin-top: 4px; }
/* 44px hit target: this is tapped on a moving train. */
.star {
  flex: none; width: 44px; height: 44px; margin: -4px -4px 0 0;
  border: 0; background: none; cursor: pointer;
  font-size: 20px; line-height: 1; color: var(--muted);
}
.star[aria-pressed="true"] { color: var(--accent); }
.loading, .empty { color: var(--muted); padding: 24px 4px; }
