body {
  background: #0f1117;
}

@keyframes pulse {
  0%, 100% { opacity: .4; }
  50%      { opacity: .8; }
}

.skeleton {
  animation: pulse 1.5s ease-in-out infinite;
  background: #1e2535;
  border-radius: 4px;
}

.chip {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid #1e2535;
  color: #94a3b8;
  cursor: pointer;
  transition: all 150ms;
  user-select: none;
}

.chip:hover {
  border-color: #334155;
  color: #e2e8f0;
}

.chip.active {
  background: #1e293b;
  border-color: #475569;
  color: #f1f5f9;
}

.billboard-row {
  transition: background 100ms;
}

.billboard-row:hover {
  background: #1e2535;
  cursor: pointer;
}

.verdict-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.verdict-still_ripping {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.verdict-holding {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.verdict-wheezing {
  background: rgba(251, 146, 60, 0.15);
  color: #fb923c;
  border: 1px solid rgba(251, 146, 60, 0.3);
}

.verdict-cooked {
  background: rgba(248, 113, 113, 0.15);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}

.site-nav {
  display: flex;
  gap: 0.25rem;
  margin-top: 0.75rem;
  flex-wrap: wrap;
}

.site-nav-link {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #94a3b8;
  text-decoration: none;
  transition: all 150ms;
}

.site-nav-link:hover {
  color: #e2e8f0;
  background: rgba(30, 37, 53, 0.6);
}

.site-nav-link.active {
  color: #f1f5f9;
  background: #1e293b;
}

.sortable-header {
  cursor: pointer;
  user-select: none;
  transition: color 150ms;
}

.sortable-header:hover {
  color: #e2e8f0;
}
