.button {
  appearance: none;
  border: 1px solid var(--input-border);
  background: linear-gradient(180deg, var(--accent), var(--accent-soft));
  color: var(--text-primary);
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: background-color 750ms ease, color 750ms ease, border-color 750ms ease, transform 120ms ease;
  width: auto;
  min-width: 140px;
}

.button:hover {
  border-color: var(--accent-soft);
  filter: brightness(1.04);
}

.button:active {
  transform: translateY(1px);
  filter: brightness(0.98);
}

.tile {
  display: block;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--input-border);
  background: var(--input-bg);
  color: var(--text-primary);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.2px;
  text-align: left;
  cursor: pointer;
  transition: background-color 750ms ease, color 750ms ease, border-color 750ms ease, transform 120ms ease;
}

.tile:hover {
  border-color: var(--accent-soft);
  filter: brightness(1.04);
}

.tile:active {
  transform: translateY(1px);
  filter: brightness(0.98);
}

.link {
  color: var(--text-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--input-border);
}

.pill {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--input-border);
  background: var(--input-bg);
  font-size: 13px;
  letter-spacing: 0.2px;
  transition: background-color 750ms ease, color 750ms ease, border-color 750ms ease;
}

.theme-toggle-button {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  color: var(--text-primary);
}

.chip {
  border: 1px solid var(--input-border);
  background: var(--input-bg);
  color: var(--text-primary);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 750ms ease, color 750ms ease, border-color 750ms ease, transform 120ms ease;
}

.chip:hover {
  border-color: var(--accent-soft);
  filter: brightness(1.04);
}

.chip:active {
  transform: translateY(1px);
  filter: brightness(0.98);
}

.link-button {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 12px;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  transition: color 200ms ease;
}

.link-button:hover {
  color: var(--text-primary);
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .tile,
  .chip,
  .link-button {
    transition: none !important;
  }
}
