.de-vote-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.65rem;
}

.de-vote-button {
  min-width: 2.25rem;
  min-height: 2.1rem;
  border: 1px solid var(--sl-color-gray-4);
  border-radius: 0.5rem;
  background: var(--sl-color-bg-nav);
  color: var(--sl-color-text);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.de-vote-button:hover {
  border-color: var(--sl-color-accent);
}

.de-vote-button[aria-pressed="true"] {
  border-color: var(--sl-color-accent);
  background: color-mix(in srgb, var(--sl-color-accent) 18%, transparent);
}

.de-vote-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.de-vote-score {
  min-width: 2.2rem;
  text-align: center;
  font-weight: 750;
}

.de-vote-message {
  margin-left: 0.25rem;
  color: var(--sl-color-gray-3);
  font-size: 0.85rem;
}

.de-reputation-panel {
  margin-top: 1rem;
  border: 1px solid var(--sl-color-gray-5);
  border-radius: 0.75rem;
  padding: 1rem;
}

.de-reputation-panel h2 {
  margin-top: 0;
}

.de-reputation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: 0.7rem;
}

.de-reputation-metric {
  border: 1px solid var(--sl-color-gray-5);
  border-radius: 0.6rem;
  padding: 0.8rem;
}

.de-reputation-metric strong {
  display: block;
  font-size: 1.35rem;
}

.de-reputation-note {
  margin-bottom: 0;
  color: var(--sl-color-gray-3);
  font-size: 0.88rem;
}
