.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-weight-semibold);white-space:nowrap;border:var(--border-width) solid transparent;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);display:inline-flex}.btn:disabled{opacity:.6;cursor:default}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn--full-width{width:100%}.btn--primary{background:var(--color-accent);color:var(--color-surface)}.btn--primary:hover:not(:disabled){background:var(--color-accent-dark)}.btn--outline{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent-dark)}.btn--outline:hover:not(:disabled){background:var(--color-accent);color:var(--color-surface)}.btn--ghost{border-style:dashed;border-color:var(--color-accent);color:var(--color-accent-dark);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn--neutral{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.btn--neutral:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-dark)}.btn--danger{background:var(--color-surface);border-color:var(--color-border);color:var(--color-danger)}.btn--danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-soft)}
