/* hackurls.easing.me — light, dense, per-feed columns. Original design. */

:root {
  --bg: #ffffff;
  --fg: #1c1e21;
  --muted: #6b7280;
  --link: #2a5db0;
  --visited: #777d73;
  --border: #d9dde3;
  --border-light: #eceff2;
  --head: #f2f4f6;
  --accent: #0e9488;
  --error: #b45309;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 12.5px/1.35 -apple-system, "Segoe UI", Roboto, "Noto Sans SC", Arial, sans-serif;
}

header {
  max-width: 1480px;
  margin: 0 auto;
  padding: 10px 10px 6px;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

h1 {
  margin: 0;
  font: 700 20px/1.2 "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: -0.5px;
}

h1 .accent { color: var(--accent); }

.tagline { margin: 0; color: var(--muted); font-size: 11px; }

/* 来源切换标签 */
nav.tabs {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}

nav.tabs .inner {
  max-width: 1480px;
  margin: 0 auto;
  padding: 5px 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.tab {
  border: 1px solid var(--border);
  background: #f7f8fa;
  color: var(--fg);
  border-radius: 3px;
  padding: 2px 9px;
  font: 11.5px/1.6 inherit;
  cursor: pointer;
}

.tab:hover { border-color: var(--link); color: var(--link); }

.tab.active {
  background: var(--link);
  border-color: var(--link);
  color: #fff;
}

.tab i {
  font-style: normal;
  color: var(--muted);
  margin-left: 4px;
  font-size: 10px;
}

.tab.active i { color: #cfe0f7; }

/* 分栏列表。无 JS 时退化为 CSS columns；有 JS 时按高度均衡分栏（jslayout） */
main {
  max-width: 1480px;
  margin: 0 auto;
  padding: 8px 10px 16px;
  column-count: 5;
  column-gap: 9px;
}

@media (max-width: 1280px) { main { column-count: 4; } }
@media (max-width: 1020px) { main { column-count: 3; } }
@media (max-width: 760px)  { main { column-count: 2; } }
@media (max-width: 500px)  { main { column-count: 1; } }

main.jslayout {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  column-count: auto;
}

main.jslayout .col {
  flex: 1 1 0;
  min-width: 0;
}

main.jslayout .col .feed { display: block; }

/* 只看单个来源：居中单栏，阅读宽度 */
main.single { display: block; column-count: auto; }
main.single .col { max-width: 760px; margin: 0 auto; }

/* HN 优先：第一栏且更宽（跨两栏） */
.feed.hn {
  column-span: none;
  border-color: #b7c6e0;
  border-width: 1.5px;
}

.feed {
  break-inside: avoid;
  display: inline-block;
  width: 100%;
  vertical-align: top;
  border: 1px solid var(--border);
  border-radius: 4px;
  margin: 0 0 9px;
  background: var(--bg);
}

.feed.hidden { display: none; }

.feed h2 {
  margin: 0;
  padding: 3px 8px;
  background: var(--head);
  border-bottom: 1px solid var(--border-light);
  font: 600 11.5px/1.7 -apple-system, "Segoe UI", sans-serif;
}

.feed h2 a { color: var(--fg); text-decoration: none; }
.feed.hn h2 a { color: var(--link); }
.feed h2 a:hover { color: var(--link); }

.feed ol {
  list-style: none;
  margin: 0;
  padding: 1px 6px 3px;
}

.feed li {
  padding: 3px 2px 2px;
  border-bottom: 1px solid var(--border-light);
}

.feed li:last-child { border-bottom: 0; }

a.t {
  display: block;
  color: var(--link);
  text-decoration: none;
  font-size: 12.5px;
  line-height: 1.45;
  overflow-wrap: break-word;
}

a.t:visited { color: var(--visited); }
a.t:hover { text-decoration: underline; }

.m {
  display: flex;
  gap: 10px;
  font-size: 10.5px;
  color: var(--muted);
  min-height: 13px;
}

a.cmt { color: var(--muted); text-decoration: none; }
a.cmt:hover { color: var(--link); text-decoration: underline; }

.pts { color: #8a94a6; }

/* 抓取失败提示 */
.errors {
  max-width: 1480px;
  margin: 0 auto;
  padding: 4px 10px;
  color: var(--error);
  font-size: 11.5px;
}

.errors ul { color: var(--muted); font-size: 11px; margin: 4px 0 0; }
.errors summary { cursor: pointer; }

footer {
  max-width: 1480px;
  margin: 0 auto;
  padding: 14px 10px 40px;
  color: var(--muted);
  font-size: 11.5px;
  border-top: 1px solid var(--border-light);
}

footer a { color: var(--muted); }
footer a:hover { color: var(--link); }
