/* books-site's own styles. Semantic tokens only (css/themes.css, see its
   own header -- copied in, not forked by hand). */
* { box-sizing: border-box; }
body {
  margin: 0;
  background: hsl(var(--canvas, 190 18% 5%));
  color: hsl(var(--text, 150 18% 78%));
  font: 400 15px/1.5 -apple-system, "Albert Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: hsl(var(--reference, 208 36% 70%)); text-decoration: none; }
a:hover { text-decoration: underline; }

header.site-header {
  padding: 20px 24px;
  border-bottom: 1px solid hsl(var(--border-default, 180 24% 84% / 0.15));
  display: flex;
  align-items: baseline;
  gap: 10px;
}
header.site-header .site-kicker {
  font: 500 11px/1.3 ui-monospace, monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: hsl(var(--text-muted, 150 10% 60%));
}
header.site-header h1 { margin: 0; font-size: 18px; color: hsl(var(--text-strong, 135 41% 88%)); }

main { max-width: 860px; margin: 0 auto; padding: 24px; }

.site-note { color: hsl(var(--text-faint, 160 9% 44%)); font-size: 13px; }
.site-note.site-error { color: hsl(var(--danger, 5 62% 62%)); }

.item-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: hsl(var(--border-default, 180 24% 84% / 0.15)); border-radius: 8px; overflow: hidden; }
.item-list li { background: hsl(var(--surface, 188 12% 11%)); padding: 16px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.item-list .item-title { color: hsl(var(--text-strong, 135 41% 88%)); font-weight: 500; }
.item-list .item-meta { font: 400 12px/1.3 ui-monospace, monospace; color: hsl(var(--text-muted, 150 10% 60%)); white-space: nowrap; }

.rating-badge { font: 500 11px/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .03em; padding: 2px 8px; border-radius: 999px; }
.rating-verified { color: hsl(var(--trust, 145 34% 58%)); background: hsl(var(--trust, 145 34% 58%) / 0.12); }
.rating-preliminary { color: hsl(var(--badge, 42 56% 62%)); background: hsl(var(--badge, 42 56% 62%) / 0.12); }
.rating-disputed { color: hsl(var(--danger, 5 62% 62%)); background: hsl(var(--danger, 5 62% 62%) / 0.12); }
.rating-unrated { color: hsl(var(--hidden, 180 10% 42%)); background: hsl(var(--hidden, 180 10% 42%) / 0.12); }

.item-detail h2 { color: hsl(var(--text-strong, 135 41% 88%)); margin: 0 0 4px; }
.item-detail .item-field { margin: 14px 0; }
.item-detail .item-field dt { font: 500 11px/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .04em; color: hsl(var(--text-muted, 150 10% 60%)); margin-bottom: 4px; }
.item-detail .item-field dd { margin: 0; color: hsl(var(--text, 150 18% 78%)); }
.item-detail .item-cid { font: 400 12px/1.4 ui-monospace, monospace; word-break: break-all; color: hsl(var(--text-faint, 160 9% 44%)); }

.item-review { border-left: 2px solid hsl(var(--border-strong, 180 24% 62% / 0.28)); padding: 8px 0 8px 12px; margin: 10px 0; }
.item-review .item-review-meta { font: 400 12px/1.3 ui-monospace, monospace; color: hsl(var(--text-muted, 150 10% 60%)); }

.back-link { display: inline-block; margin-bottom: 16px; font: 500 12px/1.3 ui-monospace, monospace; }

.archive-download {
  display: inline-block;
  margin-top: 18px;
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid hsl(var(--border-strong, 180 24% 62% / 0.28));
  font: 500 12px/1.3 ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: hsl(var(--text-strong, 135 41% 88%));
}
.archive-download:hover { background: hsl(var(--surface, 188 12% 11%)); text-decoration: none; }
