.btn {
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--btn-text);
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform var(--duration-base) var(--ease-smooth),
              box-shadow var(--duration-base) var(--ease-smooth),
              background-color var(--duration-base) var(--ease-smooth);
  box-shadow: var(--shadow-btn);
  will-change: transform;
}

.btn:hover {
  transform: scale(1.02) translateY(-1px);
  box-shadow: var(--shadow-btn-hover);
}

.btn:active {
  transform: scale(0.98);
}

.btn-primary {
  background: var(--accent);
  color: var(--btn-primary-text);
}

.btn-primary:hover {
  background: var(--accent-hover);
}

.btn-ghost {
  background: transparent;
  color: var(--accent);
  border-color: var(--btn-ghost-border);
  box-shadow: none;
}

.btn-ghost:hover {
  background: rgba(var(--c-accent), 0.08);
  border-color: var(--accent);
}

.btn-secondary {
  background: rgba(var(--c-ink), 0.08);
  color: var(--ink);
}

.btn-secondary:hover {
  background: rgba(var(--c-ink), 0.12);
}

.btn-text {
  background: transparent;
  color: var(--muted);
  border: none;
  box-shadow: none;
  padding: 8px 12px;
}

.btn-text:hover {
  color: var(--ink);
  background: rgba(var(--c-ink), 0.04);
  transform: translateY(-1px);
}
